/*
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
*/
$(document).ready(function() {

    $(".click-title").mouseenter( function(    e){
        e.preventDefault();
        this.style.cursor="pointer";
    });
    $(".click-title").mousedown( function(event){
        event.preventDefault();
    });

    // Ugly code while this script is shared among several pages
    try{
        refreshHitsPerSecond(true);
    } catch(e){}
    try{
        refreshResponseTimeOverTime(true);
    } catch(e){}
    try{
        refreshResponseTimePercentiles();
    } catch(e){}
});


var responseTimePercentilesInfos = {
        data: {"result": {"minY": 0.0, "minX": 0.0, "maxY": 1662.0, "series": [{"data": [[0.0, 0.0], [0.1, 0.0], [0.2, 0.0], [0.3, 0.0], [0.4, 0.0], [0.5, 0.0], [0.6, 0.0], [0.7, 0.0], [0.8, 0.0], [0.9, 0.0], [1.0, 0.0], [1.1, 0.0], [1.2, 0.0], [1.3, 0.0], [1.4, 0.0], [1.5, 0.0], [1.6, 0.0], [1.7, 0.0], [1.8, 0.0], [1.9, 0.0], [2.0, 0.0], [2.1, 0.0], [2.2, 0.0], [2.3, 0.0], [2.4, 0.0], [2.5, 0.0], [2.6, 0.0], [2.7, 0.0], [2.8, 0.0], [2.9, 0.0], [3.0, 0.0], [3.1, 0.0], [3.2, 0.0], [3.3, 0.0], [3.4, 0.0], [3.5, 0.0], [3.6, 0.0], [3.7, 0.0], [3.8, 0.0], [3.9, 0.0], [4.0, 0.0], [4.1, 0.0], [4.2, 0.0], [4.3, 0.0], [4.4, 0.0], [4.5, 0.0], [4.6, 0.0], [4.7, 0.0], [4.8, 0.0], [4.9, 0.0], [5.0, 1.0], [5.1, 1.0], [5.2, 1.0], [5.3, 1.0], [5.4, 1.0], [5.5, 1.0], [5.6, 1.0], [5.7, 1.0], [5.8, 1.0], [5.9, 1.0], [6.0, 1.0], [6.1, 1.0], [6.2, 1.0], [6.3, 1.0], [6.4, 1.0], [6.5, 1.0], [6.6, 1.0], [6.7, 1.0], [6.8, 1.0], [6.9, 1.0], [7.0, 1.0], [7.1, 1.0], [7.2, 1.0], [7.3, 1.0], [7.4, 1.0], [7.5, 1.0], [7.6, 1.0], [7.7, 1.0], [7.8, 1.0], [7.9, 1.0], [8.0, 1.0], [8.1, 1.0], [8.2, 1.0], [8.3, 1.0], [8.4, 1.0], [8.5, 1.0], [8.6, 1.0], [8.7, 1.0], [8.8, 1.0], [8.9, 1.0], [9.0, 1.0], [9.1, 1.0], [9.2, 1.0], [9.3, 1.0], [9.4, 1.0], [9.5, 1.0], [9.6, 1.0], [9.7, 1.0], [9.8, 1.0], [9.9, 1.0], [10.0, 1.0], [10.1, 1.0], [10.2, 1.0], [10.3, 1.0], [10.4, 1.0], [10.5, 1.0], [10.6, 1.0], [10.7, 1.0], [10.8, 1.0], [10.9, 1.0], [11.0, 1.0], [11.1, 1.0], [11.2, 1.0], [11.3, 1.0], [11.4, 1.0], [11.5, 1.0], [11.6, 1.0], [11.7, 1.0], [11.8, 1.0], [11.9, 1.0], [12.0, 1.0], [12.1, 1.0], [12.2, 1.0], [12.3, 1.0], [12.4, 1.0], [12.5, 1.0], [12.6, 1.0], [12.7, 1.0], [12.8, 1.0], [12.9, 1.0], [13.0, 1.0], [13.1, 1.0], [13.2, 1.0], [13.3, 1.0], [13.4, 1.0], [13.5, 1.0], [13.6, 1.0], [13.7, 1.0], [13.8, 1.0], [13.9, 1.0], [14.0, 1.0], [14.1, 1.0], [14.2, 1.0], [14.3, 1.0], [14.4, 1.0], [14.5, 1.0], [14.6, 1.0], [14.7, 1.0], [14.8, 1.0], [14.9, 1.0], [15.0, 1.0], [15.1, 1.0], [15.2, 1.0], [15.3, 1.0], [15.4, 1.0], [15.5, 1.0], [15.6, 1.0], [15.7, 1.0], [15.8, 1.0], [15.9, 1.0], [16.0, 1.0], [16.1, 1.0], [16.2, 1.0], [16.3, 1.0], [16.4, 1.0], [16.5, 1.0], [16.6, 1.0], [16.7, 1.0], [16.8, 1.0], [16.9, 1.0], [17.0, 1.0], [17.1, 1.0], [17.2, 1.0], [17.3, 1.0], [17.4, 2.0], [17.5, 2.0], [17.6, 2.0], [17.7, 2.0], [17.8, 2.0], [17.9, 2.0], [18.0, 2.0], [18.1, 2.0], [18.2, 2.0], [18.3, 2.0], [18.4, 2.0], [18.5, 2.0], [18.6, 2.0], [18.7, 2.0], [18.8, 2.0], [18.9, 2.0], [19.0, 2.0], [19.1, 2.0], [19.2, 2.0], [19.3, 2.0], [19.4, 2.0], [19.5, 2.0], [19.6, 2.0], [19.7, 2.0], [19.8, 2.0], [19.9, 2.0], [20.0, 2.0], [20.1, 2.0], [20.2, 2.0], [20.3, 2.0], [20.4, 2.0], [20.5, 2.0], [20.6, 2.0], [20.7, 2.0], [20.8, 2.0], [20.9, 2.0], [21.0, 2.0], [21.1, 2.0], [21.2, 2.0], [21.3, 2.0], [21.4, 2.0], [21.5, 2.0], [21.6, 2.0], [21.7, 2.0], [21.8, 2.0], [21.9, 2.0], [22.0, 2.0], [22.1, 2.0], [22.2, 2.0], [22.3, 2.0], [22.4, 2.0], [22.5, 2.0], [22.6, 2.0], [22.7, 2.0], [22.8, 2.0], [22.9, 2.0], [23.0, 2.0], [23.1, 2.0], [23.2, 2.0], [23.3, 2.0], [23.4, 2.0], [23.5, 2.0], [23.6, 2.0], [23.7, 2.0], [23.8, 2.0], [23.9, 2.0], [24.0, 2.0], [24.1, 3.0], [24.2, 3.0], [24.3, 3.0], [24.4, 3.0], [24.5, 3.0], [24.6, 3.0], [24.7, 3.0], [24.8, 3.0], [24.9, 3.0], [25.0, 3.0], [25.1, 3.0], [25.2, 3.0], [25.3, 3.0], [25.4, 3.0], [25.5, 3.0], [25.6, 3.0], [25.7, 3.0], [25.8, 3.0], [25.9, 3.0], [26.0, 3.0], [26.1, 3.0], [26.2, 3.0], [26.3, 3.0], [26.4, 3.0], [26.5, 3.0], [26.6, 3.0], [26.7, 3.0], [26.8, 3.0], [26.9, 3.0], [27.0, 3.0], [27.1, 3.0], [27.2, 3.0], [27.3, 3.0], [27.4, 3.0], [27.5, 3.0], [27.6, 3.0], [27.7, 3.0], [27.8, 3.0], [27.9, 3.0], [28.0, 3.0], [28.1, 3.0], [28.2, 3.0], [28.3, 3.0], [28.4, 3.0], [28.5, 3.0], [28.6, 3.0], [28.7, 3.0], [28.8, 3.0], [28.9, 3.0], [29.0, 3.0], [29.1, 3.0], [29.2, 3.0], [29.3, 3.0], [29.4, 3.0], [29.5, 3.0], [29.6, 3.0], [29.7, 4.0], [29.8, 4.0], [29.9, 4.0], [30.0, 4.0], [30.1, 4.0], [30.2, 4.0], [30.3, 4.0], [30.4, 4.0], [30.5, 4.0], [30.6, 4.0], [30.7, 4.0], [30.8, 4.0], [30.9, 4.0], [31.0, 4.0], [31.1, 4.0], [31.2, 4.0], [31.3, 4.0], [31.4, 4.0], [31.5, 4.0], [31.6, 4.0], [31.7, 4.0], [31.8, 4.0], [31.9, 4.0], [32.0, 4.0], [32.1, 4.0], [32.2, 4.0], [32.3, 4.0], [32.4, 4.0], [32.5, 4.0], [32.6, 4.0], [32.7, 4.0], [32.8, 4.0], [32.9, 4.0], [33.0, 4.0], [33.1, 4.0], [33.2, 4.0], [33.3, 4.0], [33.4, 4.0], [33.5, 4.0], [33.6, 4.0], [33.7, 4.0], [33.8, 4.0], [33.9, 4.0], [34.0, 4.0], [34.1, 5.0], [34.2, 5.0], [34.3, 5.0], [34.4, 5.0], [34.5, 5.0], [34.6, 5.0], [34.7, 5.0], [34.8, 5.0], [34.9, 5.0], [35.0, 5.0], [35.1, 5.0], [35.2, 5.0], [35.3, 5.0], [35.4, 5.0], [35.5, 5.0], [35.6, 5.0], [35.7, 5.0], [35.8, 5.0], [35.9, 5.0], [36.0, 5.0], [36.1, 5.0], [36.2, 5.0], [36.3, 5.0], [36.4, 5.0], [36.5, 5.0], [36.6, 5.0], [36.7, 5.0], [36.8, 5.0], [36.9, 5.0], [37.0, 5.0], [37.1, 5.0], [37.2, 5.0], [37.3, 5.0], [37.4, 5.0], [37.5, 5.0], [37.6, 5.0], [37.7, 6.0], [37.8, 6.0], [37.9, 6.0], [38.0, 6.0], [38.1, 6.0], [38.2, 6.0], [38.3, 6.0], [38.4, 6.0], [38.5, 6.0], [38.6, 6.0], [38.7, 6.0], [38.8, 6.0], [38.9, 6.0], [39.0, 6.0], [39.1, 6.0], [39.2, 6.0], [39.3, 6.0], [39.4, 6.0], [39.5, 6.0], [39.6, 6.0], [39.7, 6.0], [39.8, 6.0], [39.9, 6.0], [40.0, 6.0], [40.1, 6.0], [40.2, 6.0], [40.3, 6.0], [40.4, 6.0], [40.5, 6.0], [40.6, 6.0], [40.7, 6.0], [40.8, 6.0], [40.9, 6.0], [41.0, 6.0], [41.1, 7.0], [41.2, 7.0], [41.3, 7.0], [41.4, 7.0], [41.5, 7.0], [41.6, 7.0], [41.7, 7.0], [41.8, 7.0], [41.9, 7.0], [42.0, 7.0], [42.1, 7.0], [42.2, 7.0], [42.3, 7.0], [42.4, 7.0], [42.5, 7.0], [42.6, 7.0], [42.7, 7.0], [42.8, 7.0], [42.9, 7.0], [43.0, 7.0], [43.1, 7.0], [43.2, 7.0], [43.3, 7.0], [43.4, 7.0], [43.5, 7.0], [43.6, 7.0], [43.7, 7.0], [43.8, 7.0], [43.9, 7.0], [44.0, 7.0], [44.1, 7.0], [44.2, 7.0], [44.3, 7.0], [44.4, 7.0], [44.5, 7.0], [44.6, 8.0], [44.7, 8.0], [44.8, 8.0], [44.9, 8.0], [45.0, 8.0], [45.1, 8.0], [45.2, 8.0], [45.3, 8.0], [45.4, 8.0], [45.5, 8.0], [45.6, 8.0], [45.7, 8.0], [45.8, 8.0], [45.9, 8.0], [46.0, 8.0], [46.1, 8.0], [46.2, 8.0], [46.3, 8.0], [46.4, 8.0], [46.5, 8.0], [46.6, 8.0], [46.7, 8.0], [46.8, 8.0], [46.9, 8.0], [47.0, 8.0], [47.1, 8.0], [47.2, 8.0], [47.3, 8.0], [47.4, 8.0], [47.5, 8.0], [47.6, 8.0], [47.7, 8.0], [47.8, 8.0], [47.9, 8.0], [48.0, 8.0], [48.1, 8.0], [48.2, 9.0], [48.3, 9.0], [48.4, 9.0], [48.5, 9.0], [48.6, 9.0], [48.7, 9.0], [48.8, 9.0], [48.9, 9.0], [49.0, 9.0], [49.1, 9.0], [49.2, 9.0], [49.3, 9.0], [49.4, 9.0], [49.5, 9.0], [49.6, 9.0], [49.7, 9.0], [49.8, 9.0], [49.9, 9.0], [50.0, 9.0], [50.1, 9.0], [50.2, 9.0], [50.3, 9.0], [50.4, 9.0], [50.5, 9.0], [50.6, 9.0], [50.7, 9.0], [50.8, 9.0], [50.9, 9.0], [51.0, 9.0], [51.1, 9.0], [51.2, 9.0], [51.3, 9.0], [51.4, 9.0], [51.5, 9.0], [51.6, 9.0], [51.7, 10.0], [51.8, 10.0], [51.9, 10.0], [52.0, 10.0], [52.1, 10.0], [52.2, 10.0], [52.3, 10.0], [52.4, 10.0], [52.5, 10.0], [52.6, 10.0], [52.7, 10.0], [52.8, 10.0], [52.9, 10.0], [53.0, 10.0], [53.1, 10.0], [53.2, 10.0], [53.3, 10.0], [53.4, 10.0], [53.5, 10.0], [53.6, 10.0], [53.7, 10.0], [53.8, 10.0], [53.9, 10.0], [54.0, 10.0], [54.1, 10.0], [54.2, 10.0], [54.3, 10.0], [54.4, 10.0], [54.5, 11.0], [54.6, 11.0], [54.7, 11.0], [54.8, 11.0], [54.9, 11.0], [55.0, 11.0], [55.1, 11.0], [55.2, 11.0], [55.3, 11.0], [55.4, 11.0], [55.5, 11.0], [55.6, 11.0], [55.7, 11.0], [55.8, 11.0], [55.9, 11.0], [56.0, 11.0], [56.1, 11.0], [56.2, 11.0], [56.3, 11.0], [56.4, 11.0], [56.5, 11.0], [56.6, 11.0], [56.7, 12.0], [56.8, 12.0], [56.9, 12.0], [57.0, 12.0], [57.1, 12.0], [57.2, 12.0], [57.3, 12.0], [57.4, 12.0], [57.5, 12.0], [57.6, 12.0], [57.7, 12.0], [57.8, 12.0], [57.9, 12.0], [58.0, 12.0], [58.1, 12.0], [58.2, 12.0], [58.3, 12.0], [58.4, 12.0], [58.5, 13.0], [58.6, 13.0], [58.7, 13.0], [58.8, 13.0], [58.9, 13.0], [59.0, 13.0], [59.1, 13.0], [59.2, 13.0], [59.3, 13.0], [59.4, 13.0], [59.5, 13.0], [59.6, 13.0], [59.7, 13.0], [59.8, 13.0], [59.9, 13.0], [60.0, 13.0], [60.1, 14.0], [60.2, 14.0], [60.3, 14.0], [60.4, 14.0], [60.5, 14.0], [60.6, 14.0], [60.7, 14.0], [60.8, 14.0], [60.9, 14.0], [61.0, 14.0], [61.1, 14.0], [61.2, 14.0], [61.3, 15.0], [61.4, 15.0], [61.5, 15.0], [61.6, 15.0], [61.7, 15.0], [61.8, 15.0], [61.9, 15.0], [62.0, 15.0], [62.1, 15.0], [62.2, 15.0], [62.3, 15.0], [62.4, 16.0], [62.5, 16.0], [62.6, 16.0], [62.7, 16.0], [62.8, 16.0], [62.9, 16.0], [63.0, 16.0], [63.1, 16.0], [63.2, 16.0], [63.3, 17.0], [63.4, 17.0], [63.5, 17.0], [63.6, 17.0], [63.7, 17.0], [63.8, 17.0], [63.9, 17.0], [64.0, 17.0], [64.1, 18.0], [64.2, 18.0], [64.3, 18.0], [64.4, 18.0], [64.5, 18.0], [64.6, 18.0], [64.7, 18.0], [64.8, 18.0], [64.9, 19.0], [65.0, 19.0], [65.1, 19.0], [65.2, 19.0], [65.3, 19.0], [65.4, 19.0], [65.5, 19.0], [65.6, 20.0], [65.7, 20.0], [65.8, 20.0], [65.9, 20.0], [66.0, 20.0], [66.1, 20.0], [66.2, 20.0], [66.3, 20.0], [66.4, 21.0], [66.5, 21.0], [66.6, 21.0], [66.7, 21.0], [66.8, 21.0], [66.9, 21.0], [67.0, 21.0], [67.1, 22.0], [67.2, 22.0], [67.3, 22.0], [67.4, 22.0], [67.5, 22.0], [67.6, 22.0], [67.7, 22.0], [67.8, 22.0], [67.9, 23.0], [68.0, 23.0], [68.1, 23.0], [68.2, 23.0], [68.3, 23.0], [68.4, 23.0], [68.5, 23.0], [68.6, 23.0], [68.7, 24.0], [68.8, 24.0], [68.9, 24.0], [69.0, 24.0], [69.1, 24.0], [69.2, 24.0], [69.3, 24.0], [69.4, 25.0], [69.5, 25.0], [69.6, 25.0], [69.7, 25.0], [69.8, 25.0], [69.9, 25.0], [70.0, 25.0], [70.1, 25.0], [70.2, 26.0], [70.3, 26.0], [70.4, 26.0], [70.5, 26.0], [70.6, 26.0], [70.7, 26.0], [70.8, 26.0], [70.9, 26.0], [71.0, 27.0], [71.1, 27.0], [71.2, 27.0], [71.3, 27.0], [71.4, 27.0], [71.5, 27.0], [71.6, 27.0], [71.7, 27.0], [71.8, 27.0], [71.9, 27.0], [72.0, 28.0], [72.1, 28.0], [72.2, 28.0], [72.3, 28.0], [72.4, 28.0], [72.5, 28.0], [72.6, 28.0], [72.7, 28.0], [72.8, 28.0], [72.9, 28.0], [73.0, 29.0], [73.1, 29.0], [73.2, 29.0], [73.3, 29.0], [73.4, 29.0], [73.5, 29.0], [73.6, 29.0], [73.7, 29.0], [73.8, 30.0], [73.9, 30.0], [74.0, 30.0], [74.1, 30.0], [74.2, 30.0], [74.3, 30.0], [74.4, 30.0], [74.5, 30.0], [74.6, 31.0], [74.7, 31.0], [74.8, 31.0], [74.9, 31.0], [75.0, 31.0], [75.1, 31.0], [75.2, 31.0], [75.3, 32.0], [75.4, 32.0], [75.5, 32.0], [75.6, 32.0], [75.7, 32.0], [75.8, 32.0], [75.9, 32.0], [76.0, 33.0], [76.1, 33.0], [76.2, 33.0], [76.3, 33.0], [76.4, 33.0], [76.5, 33.0], [76.6, 33.0], [76.7, 34.0], [76.8, 34.0], [76.9, 34.0], [77.0, 34.0], [77.1, 34.0], [77.2, 34.0], [77.3, 34.0], [77.4, 35.0], [77.5, 35.0], [77.6, 35.0], [77.7, 35.0], [77.8, 35.0], [77.9, 35.0], [78.0, 35.0], [78.1, 35.0], [78.2, 36.0], [78.3, 36.0], [78.4, 36.0], [78.5, 36.0], [78.6, 36.0], [78.7, 36.0], [78.8, 36.0], [78.9, 36.0], [79.0, 36.0], [79.1, 36.0], [79.2, 37.0], [79.3, 37.0], [79.4, 37.0], [79.5, 37.0], [79.6, 37.0], [79.7, 37.0], [79.8, 37.0], [79.9, 37.0], [80.0, 37.0], [80.1, 38.0], [80.2, 38.0], [80.3, 38.0], [80.4, 38.0], [80.5, 38.0], [80.6, 38.0], [80.7, 38.0], [80.8, 38.0], [80.9, 38.0], [81.0, 38.0], [81.1, 39.0], [81.2, 39.0], [81.3, 39.0], [81.4, 39.0], [81.5, 39.0], [81.6, 39.0], [81.7, 39.0], [81.8, 39.0], [81.9, 39.0], [82.0, 39.0], [82.1, 40.0], [82.2, 40.0], [82.3, 40.0], [82.4, 40.0], [82.5, 40.0], [82.6, 40.0], [82.7, 41.0], [82.8, 41.0], [82.9, 41.0], [83.0, 41.0], [83.1, 41.0], [83.2, 41.0], [83.3, 42.0], [83.4, 42.0], [83.5, 42.0], [83.6, 42.0], [83.7, 42.0], [83.8, 42.0], [83.9, 43.0], [84.0, 43.0], [84.1, 43.0], [84.2, 43.0], [84.3, 43.0], [84.4, 43.0], [84.5, 44.0], [84.6, 44.0], [84.7, 44.0], [84.8, 44.0], [84.9, 44.0], [85.0, 44.0], [85.1, 44.0], [85.2, 45.0], [85.3, 45.0], [85.4, 45.0], [85.5, 45.0], [85.6, 45.0], [85.7, 45.0], [85.8, 45.0], [85.9, 46.0], [86.0, 46.0], [86.1, 46.0], [86.2, 46.0], [86.3, 46.0], [86.4, 46.0], [86.5, 46.0], [86.6, 47.0], [86.7, 47.0], [86.8, 47.0], [86.9, 47.0], [87.0, 47.0], [87.1, 47.0], [87.2, 47.0], [87.3, 48.0], [87.4, 48.0], [87.5, 48.0], [87.6, 48.0], [87.7, 48.0], [87.8, 48.0], [87.9, 48.0], [88.0, 48.0], [88.1, 49.0], [88.2, 49.0], [88.3, 49.0], [88.4, 49.0], [88.5, 49.0], [88.6, 49.0], [88.7, 49.0], [88.8, 49.0], [88.9, 50.0], [89.0, 50.0], [89.1, 50.0], [89.2, 50.0], [89.3, 50.0], [89.4, 50.0], [89.5, 50.0], [89.6, 51.0], [89.7, 51.0], [89.8, 51.0], [89.9, 51.0], [90.0, 51.0], [90.1, 51.0], [90.2, 52.0], [90.3, 52.0], [90.4, 52.0], [90.5, 52.0], [90.6, 52.0], [90.7, 53.0], [90.8, 53.0], [90.9, 53.0], [91.0, 53.0], [91.1, 54.0], [91.2, 54.0], [91.3, 54.0], [91.4, 54.0], [91.5, 54.0], [91.6, 55.0], [91.7, 55.0], [91.8, 55.0], [91.9, 56.0], [92.0, 56.0], [92.1, 57.0], [92.2, 57.0], [92.3, 57.0], [92.4, 58.0], [92.5, 58.0], [92.6, 59.0], [92.7, 59.0], [92.8, 60.0], [92.9, 60.0], [93.0, 61.0], [93.1, 62.0], [93.2, 62.0], [93.3, 63.0], [93.4, 65.0], [93.5, 66.0], [93.6, 67.0], [93.7, 69.0], [93.8, 70.0], [93.9, 72.0], [94.0, 73.0], [94.1, 75.0], [94.2, 76.0], [94.3, 78.0], [94.4, 79.0], [94.5, 80.0], [94.6, 82.0], [94.7, 83.0], [94.8, 84.0], [94.9, 85.0], [95.0, 87.0], [95.1, 88.0], [95.2, 89.0], [95.3, 91.0], [95.4, 94.0], [95.5, 96.0], [95.6, 99.0], [95.7, 102.0], [95.8, 104.0], [95.9, 106.0], [96.0, 108.0], [96.1, 110.0], [96.2, 113.0], [96.3, 118.0], [96.4, 122.0], [96.5, 127.0], [96.6, 137.0], [96.7, 151.0], [96.8, 163.0], [96.9, 169.0], [97.0, 175.0], [97.1, 183.0], [97.2, 190.0], [97.3, 194.0], [97.4, 199.0], [97.5, 207.0], [97.6, 209.0], [97.7, 211.0], [97.8, 213.0], [97.9, 216.0], [98.0, 218.0], [98.1, 221.0], [98.2, 224.0], [98.3, 228.0], [98.4, 232.0], [98.5, 234.0], [98.6, 237.0], [98.7, 243.0], [98.8, 263.0], [98.9, 271.0], [99.0, 292.0], [99.1, 300.0], [99.2, 306.0], [99.3, 324.0], [99.4, 339.0], [99.5, 359.0], [99.6, 407.0], [99.7, 419.0], [99.8, 478.0], [99.9, 1123.0]], "isOverall": false, "label": "Create a book", "isController": false}, {"data": [[0.0, 0.0], [0.1, 0.0], [0.2, 0.0], [0.3, 0.0], [0.4, 0.0], [0.5, 0.0], [0.6, 0.0], [0.7, 0.0], [0.8, 0.0], [0.9, 0.0], [1.0, 0.0], [1.1, 0.0], [1.2, 0.0], [1.3, 0.0], [1.4, 0.0], [1.5, 0.0], [1.6, 0.0], [1.7, 0.0], [1.8, 0.0], [1.9, 0.0], [2.0, 0.0], [2.1, 0.0], [2.2, 0.0], [2.3, 0.0], [2.4, 0.0], [2.5, 0.0], [2.6, 0.0], [2.7, 0.0], [2.8, 0.0], [2.9, 0.0], [3.0, 0.0], [3.1, 0.0], [3.2, 0.0], [3.3, 0.0], [3.4, 0.0], [3.5, 0.0], [3.6, 0.0], [3.7, 0.0], [3.8, 0.0], [3.9, 0.0], [4.0, 0.0], [4.1, 0.0], [4.2, 0.0], [4.3, 0.0], [4.4, 0.0], [4.5, 0.0], [4.6, 0.0], [4.7, 0.0], [4.8, 0.0], [4.9, 0.0], [5.0, 0.0], [5.1, 0.0], [5.2, 0.0], [5.3, 0.0], [5.4, 0.0], [5.5, 0.0], [5.6, 0.0], [5.7, 0.0], [5.8, 0.0], [5.9, 0.0], [6.0, 0.0], [6.1, 0.0], [6.2, 0.0], [6.3, 0.0], [6.4, 0.0], [6.5, 0.0], [6.6, 0.0], [6.7, 0.0], [6.8, 0.0], [6.9, 0.0], [7.0, 1.0], [7.1, 1.0], [7.2, 1.0], [7.3, 1.0], [7.4, 1.0], [7.5, 1.0], [7.6, 1.0], [7.7, 1.0], [7.8, 1.0], [7.9, 1.0], [8.0, 1.0], [8.1, 1.0], [8.2, 1.0], [8.3, 1.0], [8.4, 1.0], [8.5, 1.0], [8.6, 1.0], [8.7, 1.0], [8.8, 1.0], [8.9, 1.0], [9.0, 1.0], [9.1, 1.0], [9.2, 1.0], [9.3, 1.0], [9.4, 1.0], [9.5, 1.0], [9.6, 1.0], [9.7, 1.0], [9.8, 1.0], [9.9, 1.0], [10.0, 1.0], [10.1, 1.0], [10.2, 1.0], [10.3, 1.0], [10.4, 1.0], [10.5, 1.0], [10.6, 1.0], [10.7, 1.0], [10.8, 1.0], [10.9, 1.0], [11.0, 1.0], [11.1, 1.0], [11.2, 1.0], [11.3, 1.0], [11.4, 1.0], [11.5, 1.0], [11.6, 1.0], [11.7, 1.0], [11.8, 1.0], [11.9, 1.0], [12.0, 1.0], [12.1, 1.0], [12.2, 1.0], [12.3, 1.0], [12.4, 1.0], [12.5, 1.0], [12.6, 1.0], [12.7, 1.0], [12.8, 1.0], [12.9, 1.0], [13.0, 1.0], [13.1, 1.0], [13.2, 1.0], [13.3, 1.0], [13.4, 1.0], [13.5, 1.0], [13.6, 1.0], [13.7, 1.0], [13.8, 1.0], [13.9, 1.0], [14.0, 1.0], [14.1, 1.0], [14.2, 1.0], [14.3, 1.0], [14.4, 1.0], [14.5, 1.0], [14.6, 1.0], [14.7, 1.0], [14.8, 1.0], [14.9, 1.0], [15.0, 1.0], [15.1, 1.0], [15.2, 1.0], [15.3, 1.0], [15.4, 1.0], [15.5, 1.0], [15.6, 1.0], [15.7, 1.0], [15.8, 1.0], [15.9, 1.0], [16.0, 1.0], [16.1, 1.0], [16.2, 1.0], [16.3, 1.0], [16.4, 1.0], [16.5, 1.0], [16.6, 1.0], [16.7, 1.0], [16.8, 1.0], [16.9, 1.0], [17.0, 1.0], [17.1, 1.0], [17.2, 1.0], [17.3, 1.0], [17.4, 1.0], [17.5, 1.0], [17.6, 1.0], [17.7, 1.0], [17.8, 1.0], [17.9, 1.0], [18.0, 1.0], [18.1, 1.0], [18.2, 1.0], [18.3, 1.0], [18.4, 1.0], [18.5, 1.0], [18.6, 1.0], [18.7, 1.0], [18.8, 1.0], [18.9, 1.0], [19.0, 1.0], [19.1, 1.0], [19.2, 1.0], [19.3, 1.0], [19.4, 1.0], [19.5, 1.0], [19.6, 1.0], [19.7, 1.0], [19.8, 1.0], [19.9, 1.0], [20.0, 1.0], [20.1, 1.0], [20.2, 1.0], [20.3, 1.0], [20.4, 1.0], [20.5, 1.0], [20.6, 1.0], [20.7, 1.0], [20.8, 1.0], [20.9, 1.0], [21.0, 1.0], [21.1, 1.0], [21.2, 1.0], [21.3, 1.0], [21.4, 1.0], [21.5, 1.0], [21.6, 1.0], [21.7, 1.0], [21.8, 1.0], [21.9, 1.0], [22.0, 1.0], [22.1, 2.0], [22.2, 2.0], [22.3, 2.0], [22.4, 2.0], [22.5, 2.0], [22.6, 2.0], [22.7, 2.0], [22.8, 2.0], [22.9, 2.0], [23.0, 2.0], [23.1, 2.0], [23.2, 2.0], [23.3, 2.0], [23.4, 2.0], [23.5, 2.0], [23.6, 2.0], [23.7, 2.0], [23.8, 2.0], [23.9, 2.0], [24.0, 2.0], [24.1, 2.0], [24.2, 2.0], [24.3, 2.0], [24.4, 2.0], [24.5, 2.0], [24.6, 2.0], [24.7, 2.0], [24.8, 2.0], [24.9, 2.0], [25.0, 2.0], [25.1, 2.0], [25.2, 2.0], [25.3, 2.0], [25.4, 2.0], [25.5, 2.0], [25.6, 2.0], [25.7, 2.0], [25.8, 2.0], [25.9, 2.0], [26.0, 2.0], [26.1, 2.0], [26.2, 2.0], [26.3, 2.0], [26.4, 2.0], [26.5, 2.0], [26.6, 2.0], [26.7, 2.0], [26.8, 2.0], [26.9, 2.0], [27.0, 2.0], [27.1, 2.0], [27.2, 2.0], [27.3, 2.0], [27.4, 2.0], [27.5, 2.0], [27.6, 2.0], [27.7, 2.0], [27.8, 2.0], [27.9, 2.0], [28.0, 2.0], [28.1, 2.0], [28.2, 2.0], [28.3, 2.0], [28.4, 2.0], [28.5, 2.0], [28.6, 2.0], [28.7, 2.0], [28.8, 2.0], [28.9, 2.0], [29.0, 2.0], [29.1, 2.0], [29.2, 3.0], [29.3, 3.0], [29.4, 3.0], [29.5, 3.0], [29.6, 3.0], [29.7, 3.0], [29.8, 3.0], [29.9, 3.0], [30.0, 3.0], [30.1, 3.0], [30.2, 3.0], [30.3, 3.0], [30.4, 3.0], [30.5, 3.0], [30.6, 3.0], [30.7, 3.0], [30.8, 3.0], [30.9, 3.0], [31.0, 3.0], [31.1, 3.0], [31.2, 3.0], [31.3, 3.0], [31.4, 3.0], [31.5, 3.0], [31.6, 3.0], [31.7, 3.0], [31.8, 3.0], [31.9, 3.0], [32.0, 3.0], [32.1, 3.0], [32.2, 3.0], [32.3, 3.0], [32.4, 3.0], [32.5, 3.0], [32.6, 3.0], [32.7, 3.0], [32.8, 3.0], [32.9, 3.0], [33.0, 3.0], [33.1, 3.0], [33.2, 3.0], [33.3, 3.0], [33.4, 3.0], [33.5, 3.0], [33.6, 3.0], [33.7, 3.0], [33.8, 3.0], [33.9, 3.0], [34.0, 3.0], [34.1, 3.0], [34.2, 3.0], [34.3, 3.0], [34.4, 3.0], [34.5, 3.0], [34.6, 4.0], [34.7, 4.0], [34.8, 4.0], [34.9, 4.0], [35.0, 4.0], [35.1, 4.0], [35.2, 4.0], [35.3, 4.0], [35.4, 4.0], [35.5, 4.0], [35.6, 4.0], [35.7, 4.0], [35.8, 4.0], [35.9, 4.0], [36.0, 4.0], [36.1, 4.0], [36.2, 4.0], [36.3, 4.0], [36.4, 4.0], [36.5, 4.0], [36.6, 4.0], [36.7, 4.0], [36.8, 4.0], [36.9, 4.0], [37.0, 4.0], [37.1, 4.0], [37.2, 4.0], [37.3, 4.0], [37.4, 4.0], [37.5, 4.0], [37.6, 4.0], [37.7, 4.0], [37.8, 4.0], [37.9, 4.0], [38.0, 4.0], [38.1, 4.0], [38.2, 4.0], [38.3, 4.0], [38.4, 4.0], [38.5, 4.0], [38.6, 5.0], [38.7, 5.0], [38.8, 5.0], [38.9, 5.0], [39.0, 5.0], [39.1, 5.0], [39.2, 5.0], [39.3, 5.0], [39.4, 5.0], [39.5, 5.0], [39.6, 5.0], [39.7, 5.0], [39.8, 5.0], [39.9, 5.0], [40.0, 5.0], [40.1, 5.0], [40.2, 5.0], [40.3, 5.0], [40.4, 5.0], [40.5, 5.0], [40.6, 5.0], [40.7, 5.0], [40.8, 5.0], [40.9, 5.0], [41.0, 5.0], [41.1, 5.0], [41.2, 5.0], [41.3, 5.0], [41.4, 5.0], [41.5, 5.0], [41.6, 5.0], [41.7, 5.0], [41.8, 5.0], [41.9, 5.0], [42.0, 5.0], [42.1, 5.0], [42.2, 5.0], [42.3, 6.0], [42.4, 6.0], [42.5, 6.0], [42.6, 6.0], [42.7, 6.0], [42.8, 6.0], [42.9, 6.0], [43.0, 6.0], [43.1, 6.0], [43.2, 6.0], [43.3, 6.0], [43.4, 6.0], [43.5, 6.0], [43.6, 6.0], [43.7, 6.0], [43.8, 6.0], [43.9, 6.0], [44.0, 6.0], [44.1, 6.0], [44.2, 6.0], [44.3, 6.0], [44.4, 6.0], [44.5, 6.0], [44.6, 6.0], [44.7, 6.0], [44.8, 6.0], [44.9, 6.0], [45.0, 6.0], [45.1, 6.0], [45.2, 6.0], [45.3, 6.0], [45.4, 6.0], [45.5, 6.0], [45.6, 6.0], [45.7, 6.0], [45.8, 7.0], [45.9, 7.0], [46.0, 7.0], [46.1, 7.0], [46.2, 7.0], [46.3, 7.0], [46.4, 7.0], [46.5, 7.0], [46.6, 7.0], [46.7, 7.0], [46.8, 7.0], [46.9, 7.0], [47.0, 7.0], [47.1, 7.0], [47.2, 7.0], [47.3, 7.0], [47.4, 7.0], [47.5, 7.0], [47.6, 7.0], [47.7, 7.0], [47.8, 7.0], [47.9, 7.0], [48.0, 7.0], [48.1, 7.0], [48.2, 7.0], [48.3, 7.0], [48.4, 7.0], [48.5, 7.0], [48.6, 7.0], [48.7, 7.0], [48.8, 7.0], [48.9, 7.0], [49.0, 7.0], [49.1, 7.0], [49.2, 7.0], [49.3, 8.0], [49.4, 8.0], [49.5, 8.0], [49.6, 8.0], [49.7, 8.0], [49.8, 8.0], [49.9, 8.0], [50.0, 8.0], [50.1, 8.0], [50.2, 8.0], [50.3, 8.0], [50.4, 8.0], [50.5, 8.0], [50.6, 8.0], [50.7, 8.0], [50.8, 8.0], [50.9, 8.0], [51.0, 8.0], [51.1, 8.0], [51.2, 8.0], [51.3, 8.0], [51.4, 8.0], [51.5, 8.0], [51.6, 8.0], [51.7, 8.0], [51.8, 8.0], [51.9, 8.0], [52.0, 8.0], [52.1, 8.0], [52.2, 8.0], [52.3, 8.0], [52.4, 8.0], [52.5, 8.0], [52.6, 8.0], [52.7, 8.0], [52.8, 8.0], [52.9, 8.0], [53.0, 9.0], [53.1, 9.0], [53.2, 9.0], [53.3, 9.0], [53.4, 9.0], [53.5, 9.0], [53.6, 9.0], [53.7, 9.0], [53.8, 9.0], [53.9, 9.0], [54.0, 9.0], [54.1, 9.0], [54.2, 9.0], [54.3, 9.0], [54.4, 9.0], [54.5, 9.0], [54.6, 9.0], [54.7, 9.0], [54.8, 9.0], [54.9, 9.0], [55.0, 9.0], [55.1, 9.0], [55.2, 9.0], [55.3, 9.0], [55.4, 9.0], [55.5, 9.0], [55.6, 9.0], [55.7, 9.0], [55.8, 10.0], [55.9, 10.0], [56.0, 10.0], [56.1, 10.0], [56.2, 10.0], [56.3, 10.0], [56.4, 10.0], [56.5, 10.0], [56.6, 10.0], [56.7, 10.0], [56.8, 10.0], [56.9, 10.0], [57.0, 10.0], [57.1, 10.0], [57.2, 10.0], [57.3, 10.0], [57.4, 10.0], [57.5, 10.0], [57.6, 10.0], [57.7, 10.0], [57.8, 10.0], [57.9, 10.0], [58.0, 10.0], [58.1, 11.0], [58.2, 11.0], [58.3, 11.0], [58.4, 11.0], [58.5, 11.0], [58.6, 11.0], [58.7, 11.0], [58.8, 11.0], [58.9, 11.0], [59.0, 11.0], [59.1, 11.0], [59.2, 11.0], [59.3, 11.0], [59.4, 11.0], [59.5, 11.0], [59.6, 11.0], [59.7, 11.0], [59.8, 11.0], [59.9, 12.0], [60.0, 12.0], [60.1, 12.0], [60.2, 12.0], [60.3, 12.0], [60.4, 12.0], [60.5, 12.0], [60.6, 12.0], [60.7, 12.0], [60.8, 12.0], [60.9, 12.0], [61.0, 12.0], [61.1, 12.0], [61.2, 12.0], [61.3, 13.0], [61.4, 13.0], [61.5, 13.0], [61.6, 13.0], [61.7, 13.0], [61.8, 13.0], [61.9, 13.0], [62.0, 13.0], [62.1, 13.0], [62.2, 13.0], [62.3, 13.0], [62.4, 13.0], [62.5, 14.0], [62.6, 14.0], [62.7, 14.0], [62.8, 14.0], [62.9, 14.0], [63.0, 14.0], [63.1, 14.0], [63.2, 14.0], [63.3, 14.0], [63.4, 14.0], [63.5, 15.0], [63.6, 15.0], [63.7, 15.0], [63.8, 15.0], [63.9, 15.0], [64.0, 15.0], [64.1, 15.0], [64.2, 15.0], [64.3, 16.0], [64.4, 16.0], [64.5, 16.0], [64.6, 16.0], [64.7, 16.0], [64.8, 16.0], [64.9, 16.0], [65.0, 17.0], [65.1, 17.0], [65.2, 17.0], [65.3, 17.0], [65.4, 17.0], [65.5, 17.0], [65.6, 17.0], [65.7, 18.0], [65.8, 18.0], [65.9, 18.0], [66.0, 18.0], [66.1, 18.0], [66.2, 18.0], [66.3, 18.0], [66.4, 18.0], [66.5, 19.0], [66.6, 19.0], [66.7, 19.0], [66.8, 19.0], [66.9, 19.0], [67.0, 19.0], [67.1, 19.0], [67.2, 20.0], [67.3, 20.0], [67.4, 20.0], [67.5, 20.0], [67.6, 20.0], [67.7, 20.0], [67.8, 20.0], [67.9, 20.0], [68.0, 21.0], [68.1, 21.0], [68.2, 21.0], [68.3, 21.0], [68.4, 21.0], [68.5, 21.0], [68.6, 21.0], [68.7, 22.0], [68.8, 22.0], [68.9, 22.0], [69.0, 22.0], [69.1, 22.0], [69.2, 22.0], [69.3, 22.0], [69.4, 23.0], [69.5, 23.0], [69.6, 23.0], [69.7, 23.0], [69.8, 23.0], [69.9, 23.0], [70.0, 23.0], [70.1, 24.0], [70.2, 24.0], [70.3, 24.0], [70.4, 24.0], [70.5, 24.0], [70.6, 24.0], [70.7, 24.0], [70.8, 24.0], [70.9, 25.0], [71.0, 25.0], [71.1, 25.0], [71.2, 25.0], [71.3, 25.0], [71.4, 25.0], [71.5, 25.0], [71.6, 25.0], [71.7, 26.0], [71.8, 26.0], [71.9, 26.0], [72.0, 26.0], [72.1, 26.0], [72.2, 26.0], [72.3, 26.0], [72.4, 26.0], [72.5, 26.0], [72.6, 27.0], [72.7, 27.0], [72.8, 27.0], [72.9, 27.0], [73.0, 27.0], [73.1, 27.0], [73.2, 27.0], [73.3, 27.0], [73.4, 27.0], [73.5, 27.0], [73.6, 27.0], [73.7, 27.0], [73.8, 28.0], [73.9, 28.0], [74.0, 28.0], [74.1, 28.0], [74.2, 28.0], [74.3, 28.0], [74.4, 28.0], [74.5, 28.0], [74.6, 29.0], [74.7, 29.0], [74.8, 29.0], [74.9, 29.0], [75.0, 29.0], [75.1, 29.0], [75.2, 29.0], [75.3, 30.0], [75.4, 30.0], [75.5, 30.0], [75.6, 30.0], [75.7, 30.0], [75.8, 30.0], [75.9, 30.0], [76.0, 30.0], [76.1, 31.0], [76.2, 31.0], [76.3, 31.0], [76.4, 31.0], [76.5, 31.0], [76.6, 31.0], [76.7, 31.0], [76.8, 32.0], [76.9, 32.0], [77.0, 32.0], [77.1, 32.0], [77.2, 32.0], [77.3, 32.0], [77.4, 32.0], [77.5, 33.0], [77.6, 33.0], [77.7, 33.0], [77.8, 33.0], [77.9, 33.0], [78.0, 33.0], [78.1, 33.0], [78.2, 34.0], [78.3, 34.0], [78.4, 34.0], [78.5, 34.0], [78.6, 34.0], [78.7, 34.0], [78.8, 34.0], [78.9, 34.0], [79.0, 35.0], [79.1, 35.0], [79.2, 35.0], [79.3, 35.0], [79.4, 35.0], [79.5, 35.0], [79.6, 35.0], [79.7, 35.0], [79.8, 35.0], [79.9, 35.0], [80.0, 36.0], [80.1, 36.0], [80.2, 36.0], [80.3, 36.0], [80.4, 36.0], [80.5, 36.0], [80.6, 36.0], [80.7, 36.0], [80.8, 36.0], [80.9, 36.0], [81.0, 37.0], [81.1, 37.0], [81.2, 37.0], [81.3, 37.0], [81.4, 37.0], [81.5, 37.0], [81.6, 37.0], [81.7, 37.0], [81.8, 37.0], [81.9, 37.0], [82.0, 38.0], [82.1, 38.0], [82.2, 38.0], [82.3, 38.0], [82.4, 38.0], [82.5, 38.0], [82.6, 38.0], [82.7, 38.0], [82.8, 39.0], [82.9, 39.0], [83.0, 39.0], [83.1, 39.0], [83.2, 39.0], [83.3, 39.0], [83.4, 39.0], [83.5, 40.0], [83.6, 40.0], [83.7, 40.0], [83.8, 40.0], [83.9, 40.0], [84.0, 40.0], [84.1, 40.0], [84.2, 41.0], [84.3, 41.0], [84.4, 41.0], [84.5, 41.0], [84.6, 41.0], [84.7, 41.0], [84.8, 42.0], [84.9, 42.0], [85.0, 42.0], [85.1, 42.0], [85.2, 42.0], [85.3, 42.0], [85.4, 42.0], [85.5, 43.0], [85.6, 43.0], [85.7, 43.0], [85.8, 43.0], [85.9, 43.0], [86.0, 43.0], [86.1, 43.0], [86.2, 43.0], [86.3, 44.0], [86.4, 44.0], [86.5, 44.0], [86.6, 44.0], [86.7, 44.0], [86.8, 44.0], [86.9, 44.0], [87.0, 45.0], [87.1, 45.0], [87.2, 45.0], [87.3, 45.0], [87.4, 45.0], [87.5, 45.0], [87.6, 45.0], [87.7, 46.0], [87.8, 46.0], [87.9, 46.0], [88.0, 46.0], [88.1, 46.0], [88.2, 46.0], [88.3, 46.0], [88.4, 46.0], [88.5, 47.0], [88.6, 47.0], [88.7, 47.0], [88.8, 47.0], [88.9, 47.0], [89.0, 47.0], [89.1, 47.0], [89.2, 47.0], [89.3, 48.0], [89.4, 48.0], [89.5, 48.0], [89.6, 48.0], [89.7, 48.0], [89.8, 48.0], [89.9, 48.0], [90.0, 48.0], [90.1, 49.0], [90.2, 49.0], [90.3, 49.0], [90.4, 49.0], [90.5, 49.0], [90.6, 49.0], [90.7, 49.0], [90.8, 50.0], [90.9, 50.0], [91.0, 50.0], [91.1, 50.0], [91.2, 50.0], [91.3, 50.0], [91.4, 51.0], [91.5, 51.0], [91.6, 51.0], [91.7, 51.0], [91.8, 52.0], [91.9, 52.0], [92.0, 52.0], [92.1, 52.0], [92.2, 53.0], [92.3, 53.0], [92.4, 53.0], [92.5, 53.0], [92.6, 54.0], [92.7, 54.0], [92.8, 55.0], [92.9, 55.0], [93.0, 55.0], [93.1, 56.0], [93.2, 56.0], [93.3, 57.0], [93.4, 57.0], [93.5, 58.0], [93.6, 59.0], [93.7, 59.0], [93.8, 60.0], [93.9, 60.0], [94.0, 61.0], [94.1, 62.0], [94.2, 63.0], [94.3, 65.0], [94.4, 66.0], [94.5, 68.0], [94.6, 69.0], [94.7, 71.0], [94.8, 72.0], [94.9, 73.0], [95.0, 75.0], [95.1, 76.0], [95.2, 78.0], [95.3, 79.0], [95.4, 80.0], [95.5, 82.0], [95.6, 83.0], [95.7, 85.0], [95.8, 87.0], [95.9, 89.0], [96.0, 91.0], [96.1, 95.0], [96.2, 98.0], [96.3, 101.0], [96.4, 104.0], [96.5, 106.0], [96.6, 108.0], [96.7, 110.0], [96.8, 116.0], [96.9, 121.0], [97.0, 125.0], [97.1, 138.0], [97.2, 156.0], [97.3, 166.0], [97.4, 174.0], [97.5, 182.0], [97.6, 190.0], [97.7, 195.0], [97.8, 204.0], [97.9, 208.0], [98.0, 209.0], [98.1, 211.0], [98.2, 213.0], [98.3, 216.0], [98.4, 219.0], [98.5, 222.0], [98.6, 226.0], [98.7, 230.0], [98.8, 232.0], [98.9, 235.0], [99.0, 244.0], [99.1, 261.0], [99.2, 267.0], [99.3, 286.0], [99.4, 297.0], [99.5, 306.0], [99.6, 332.0], [99.7, 355.0], [99.8, 399.0], [99.9, 413.0]], "isOverall": false, "label": "Get book by id", "isController": false}], "supportsControllersDiscrimination": true, "maxX": 100.0, "title": "Response Time Percentiles"}},
        getOptions: function() {
            return {
                series: {
                    points: { show: false }
                },
                legend: {
                    noColumns: 2,
                    show: true,
                    container: '#legendResponseTimePercentiles'
                },
                xaxis: {
                    tickDecimals: 1,
                    axisLabel: "Percentiles",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Percentile value in ms",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: "%s : %x.2 percentile was %y ms"
                },
                selection: { mode: "xy" },
            };
        },
        createGraph: function() {
            var data = this.data;
            var dataset = prepareData(data.result.series, $("#choicesResponseTimePercentiles"));
            var options = this.getOptions();
            prepareOptions(options, data);
            $.plot($("#flotResponseTimesPercentiles"), dataset, options);
            // setup overview
            $.plot($("#overviewResponseTimesPercentiles"), dataset, prepareOverviewOptions(options));
        }
};

/**
 * @param elementId Id of element where we display message
 */
function setEmptyGraph(elementId) {
    $(function() {
        $(elementId).text("No graph series with filter="+seriesFilter);
    });
}

// Response times percentiles
function refreshResponseTimePercentiles() {
    var infos = responseTimePercentilesInfos;
    prepareSeries(infos.data);
    if(infos.data.result.series.length == 0) {
        setEmptyGraph("#bodyResponseTimePercentiles");
        return;
    }
    if (isGraph($("#flotResponseTimesPercentiles"))){
        infos.createGraph();
    } else {
        var choiceContainer = $("#choicesResponseTimePercentiles");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotResponseTimesPercentiles", "#overviewResponseTimesPercentiles");
        $('#bodyResponseTimePercentiles .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
}

var responseTimeDistributionInfos = {
        data: {"result": {"minY": 9.0, "minX": 0.0, "maxY": 77004.0, "series": [{"data": [[0.0, 76500.0], [600.0, 11.0], [700.0, 10.0], [200.0, 1349.0], [800.0, 9.0], [900.0, 10.0], [1000.0, 10.0], [1100.0, 10.0], [300.0, 383.0], [1200.0, 10.0], [1300.0, 10.0], [1400.0, 10.0], [1500.0, 10.0], [100.0, 1424.0], [400.0, 202.0], [1600.0, 32.0], [500.0, 10.0]], "isOverall": false, "label": "Create a book", "isController": false}, {"data": [[0.0, 77004.0], [300.0, 296.0], [100.0, 1196.0], [200.0, 1352.0], [400.0, 152.0]], "isOverall": false, "label": "Get book by id", "isController": false}], "supportsControllersDiscrimination": true, "granularity": 100, "maxX": 1600.0, "title": "Response Time Distribution"}},
        getOptions: function() {
            var granularity = this.data.result.granularity;
            return {
                legend: {
                    noColumns: 2,
                    show: true,
                    container: '#legendResponseTimeDistribution'
                },
                xaxis:{
                    axisLabel: "Response times in ms",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Number of responses",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                bars : {
                    show: true,
                    barWidth: this.data.result.granularity
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: function(label, xval, yval, flotItem){
                        return yval + " responses for " + label + " were between " + xval + " and " + (xval + granularity) + " ms";
                    }
                }
            };
        },
        createGraph: function() {
            var data = this.data;
            var options = this.getOptions();
            prepareOptions(options, data);
            $.plot($("#flotResponseTimeDistribution"), prepareData(data.result.series, $("#choicesResponseTimeDistribution")), options);
        }

};

// Response time distribution
function refreshResponseTimeDistribution() {
    var infos = responseTimeDistributionInfos;
    prepareSeries(infos.data);
    if(infos.data.result.series.length == 0) {
        setEmptyGraph("#bodyResponseTimeDistribution");
        return;
    }
    if (isGraph($("#flotResponseTimeDistribution"))){
        infos.createGraph();
    }else{
        var choiceContainer = $("#choicesResponseTimeDistribution");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        $('#footerResponseTimeDistribution .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};


var syntheticResponseTimeDistributionInfos = {
        data: {"result": {"minY": 40.0, "minX": 0.0, "ticks": [[0, "Requests having \nresponse time <= 500ms"], [1, "Requests having \nresponse time > 500ms and <= 1,500ms"], [2, "Requests having \nresponse time > 1,500ms"], [3, "Requests in error"]], "maxY": 159858.0, "series": [{"data": [[0.0, 159858.0]], "color": "#9ACD32", "isOverall": false, "label": "Requests having \nresponse time <= 500ms", "isController": false}, {"data": [[1.0, 102.0]], "color": "yellow", "isOverall": false, "label": "Requests having \nresponse time > 500ms and <= 1,500ms", "isController": false}, {"data": [[2.0, 40.0]], "color": "orange", "isOverall": false, "label": "Requests having \nresponse time > 1,500ms", "isController": false}, {"data": [], "color": "#FF6347", "isOverall": false, "label": "Requests in error", "isController": false}], "supportsControllersDiscrimination": false, "maxX": 2.0, "title": "Synthetic Response Times Distribution"}},
        getOptions: function() {
            return {
                legend: {
                    noColumns: 2,
                    show: true,
                    container: '#legendSyntheticResponseTimeDistribution'
                },
                xaxis:{
                    axisLabel: "Response times ranges",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                    tickLength:0,
                    min:-0.5,
                    max:3.5
                },
                yaxis: {
                    axisLabel: "Number of responses",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                bars : {
                    show: true,
                    align: "center",
                    barWidth: 0.25,
                    fill:.75
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: function(label, xval, yval, flotItem){
                        return yval + " " + label;
                    }
                }
            };
        },
        createGraph: function() {
            var data = this.data;
            var options = this.getOptions();
            prepareOptions(options, data);
            options.xaxis.ticks = data.result.ticks;
            $.plot($("#flotSyntheticResponseTimeDistribution"), prepareData(data.result.series, $("#choicesSyntheticResponseTimeDistribution")), options);
        }

};

// Response time distribution
function refreshSyntheticResponseTimeDistribution() {
    var infos = syntheticResponseTimeDistributionInfos;
    prepareSeries(infos.data, true);
    if (isGraph($("#flotSyntheticResponseTimeDistribution"))){
        infos.createGraph();
    }else{
        var choiceContainer = $("#choicesSyntheticResponseTimeDistribution");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        $('#footerSyntheticResponseTimeDistribution .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};

var activeThreadsOverTimeInfos = {
        data: {"result": {"minY": 229.24570000000202, "minX": 1.703994E12, "maxY": 229.24570000000202, "series": [{"data": [[1.703994E12, 229.24570000000202]], "isOverall": false, "label": "Thread Group", "isController": false}], "supportsControllersDiscrimination": false, "granularity": 60000, "maxX": 1.703994E12, "title": "Active Threads Over Time"}},
        getOptions: function() {
            return {
                series: {
                    stack: true,
                    lines: {
                        show: true,
                        fill: true
                    },
                    points: {
                        show: true
                    }
                },
                xaxis: {
                    mode: "time",
                    timeformat: getTimeFormat(this.data.result.granularity),
                    axisLabel: getElapsedTimeLabel(this.data.result.granularity),
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Number of active threads",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20
                },
                legend: {
                    noColumns: 6,
                    show: true,
                    container: '#legendActiveThreadsOverTime'
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                selection: {
                    mode: 'xy'
                },
                tooltip: true,
                tooltipOpts: {
                    content: "%s : At %x there were %y active threads"
                }
            };
        },
        createGraph: function() {
            var data = this.data;
            var dataset = prepareData(data.result.series, $("#choicesActiveThreadsOverTime"));
            var options = this.getOptions();
            prepareOptions(options, data);
            $.plot($("#flotActiveThreadsOverTime"), dataset, options);
            // setup overview
            $.plot($("#overviewActiveThreadsOverTime"), dataset, prepareOverviewOptions(options));
        }
};

// Active Threads Over Time
function refreshActiveThreadsOverTime(fixTimestamps) {
    var infos = activeThreadsOverTimeInfos;
    prepareSeries(infos.data);
    if(fixTimestamps) {
        fixTimeStamps(infos.data.result.series, 28800000);
    }
    if(isGraph($("#flotActiveThreadsOverTime"))) {
        infos.createGraph();
    }else{
        var choiceContainer = $("#choicesActiveThreadsOverTime");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotActiveThreadsOverTime", "#overviewActiveThreadsOverTime");
        $('#footerActiveThreadsOverTime .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};

var timeVsThreadsInfos = {
        data: {"result": {"minY": 0.36363636363636365, "minX": 1.0, "maxY": 655.6944444444445, "series": [{"data": [[2.0, 0.4], [3.0, 0.5416666666666667], [4.0, 0.5964106844741229], [5.0, 0.6753361251928597], [6.0, 0.8171378091872782], [7.0, 0.8324022346368712], [8.0, 1.1738800303720591], [9.0, 1.1728578504209977], [10.0, 1.0936639118457299], [11.0, 0.9178082191780822], [12.0, 1.0310077519379848], [13.0, 1.0000000000000004], [14.0, 1.1747572815533986], [15.0, 1.0952380952380953], [16.0, 0.9705882352941175], [17.0, 1.2432432432432432], [18.0, 0.9999999999999999], [19.0, 1.2432432432432434], [20.0, 1.4057971014492758], [21.0, 1.2750000000000001], [22.0, 1.51063829787234], [23.0, 1.2222222222222225], [24.0, 1.3170731707317078], [25.0, 1.9565217391304348], [26.0, 1.666666666666667], [27.0, 1.4677419354838708], [28.0, 1.578125], [29.0, 1.6315789473684206], [30.0, 1.8000000000000005], [31.0, 1.8846153846153846], [33.0, 1.9125560538116595], [32.0, 1.8877005347593578], [34.0, 2.17505995203837], [35.0, 2.206896551724138], [37.0, 22.089965397923894], [36.0, 2.7767175572519047], [39.0, 2.06269592476489], [38.0, 2.1871455576559566], [41.0, 2.5959885386819455], [40.0, 2.3934426229508197], [43.0, 3.1221719457013566], [42.0, 2.7559808612440166], [45.0, 3.0987124463519318], [44.0, 3.0807174887892406], [47.0, 3.094827586206897], [46.0, 2.82051282051282], [49.0, 7.2151394422310755], [48.0, 3.0715532286212888], [51.0, 3.02027027027027], [50.0, 5.503296703296697], [53.0, 3.4651162790697687], [52.0, 3.3880597014925375], [55.0, 3.1442307692307674], [54.0, 3.248730964467004], [57.0, 9.001503759398496], [56.0, 5.3510638297872415], [59.0, 10.741935483870968], [58.0, 23.999999999999996], [61.0, 4.138461538461539], [60.0, 6.191176470588237], [63.0, 15.053254437869832], [62.0, 3.6382978723404245], [67.0, 38.983050847457626], [66.0, 3.925619834710744], [65.0, 6.8840579710144985], [64.0, 33.42990654205605], [70.0, 15.422391857506362], [68.0, 28.41304347826086], [69.0, 3.924050632911391], [71.0, 39.416309012875544], [75.0, 5.1235955056179785], [73.0, 4.0175438596491215], [72.0, 3.9211618257261427], [74.0, 4.054945054945057], [78.0, 4.554166666666665], [77.0, 12.854838709677415], [76.0, 30.961240310077486], [79.0, 4.289855072463771], [83.0, 4.730458221024262], [82.0, 4.917910447761195], [81.0, 5.055649241146712], [80.0, 4.204761904761907], [87.0, 18.15873015873016], [86.0, 5.000000000000001], [85.0, 5.045180722891568], [84.0, 5.195488721804512], [91.0, 7.459390862944161], [90.0, 17.792792792792792], [89.0, 14.583333333333332], [88.0, 24.074468085106385], [95.0, 5.043478260869569], [94.0, 122.35714285714289], [93.0, 13.857868020304561], [92.0, 24.76073619631902], [99.0, 7.590909090909091], [98.0, 5.885462555066081], [97.0, 6.781249999999997], [96.0, 6.594594594594592], [103.0, 5.454545454545454], [102.0, 6.315789473684212], [101.0, 6.780898876404494], [100.0, 7.109756097560974], [107.0, 6.162790697674419], [106.0, 6.026315789473688], [104.0, 5.935714285714283], [105.0, 6.852941176470589], [111.0, 7.3], [110.0, 8.56923076923077], [109.0, 8.67213114754098], [108.0, 81.572972972973], [115.0, 6.650375939849624], [114.0, 6.384020618556697], [112.0, 51.16746411483254], [113.0, 20.86896551724139], [119.0, 8.514851485148515], [118.0, 8.192307692307692], [117.0, 8.427184466019417], [116.0, 8.045454545454545], [123.0, 7.133333333333333], [122.0, 13.145833333333337], [121.0, 11.083333333333332], [120.0, 6.822580645161287], [127.0, 8.486238532110091], [126.0, 6.857142857142857], [124.0, 7.722222222222222], [125.0, 6.718749999999999], [135.0, 8.521739130434785], [134.0, 9.025641025641027], [133.0, 8.210526315789473], [132.0, 112.5862068965517], [131.0, 44.905311778291015], [130.0, 8.163179916317999], [129.0, 11.35458167330678], [128.0, 8.805147058823524], [143.0, 6.269230769230774], [142.0, 9.030303030303031], [141.0, 9.800000000000002], [140.0, 9.519999999999998], [139.0, 8.321428571428571], [138.0, 8.673076923076922], [137.0, 10.132075471698114], [136.0, 6.959999999999999], [151.0, 9.929411764705883], [150.0, 10.699999999999998], [149.0, 8.708333333333332], [148.0, 8.277027027027032], [147.0, 8.250000000000005], [146.0, 9.389078498293518], [144.0, 8.6140350877193], [145.0, 8.132075471698114], [159.0, 9.700787401574797], [158.0, 10.43801652892562], [157.0, 14.678284182305621], [154.0, 8.835051546391753], [153.0, 11.445312500000005], [152.0, 10.660194174757276], [156.0, 60.882783882783926], [155.0, 8.430379746835445], [167.0, 7.952380952380952], [166.0, 9.5], [164.0, 10.799999999999997], [165.0, 16.5], [163.0, 9.421875000000004], [162.0, 9.600000000000001], [161.0, 10.19473684210527], [160.0, 9.605042016806728], [175.0, 10.119791666666663], [174.0, 8.952380952380965], [173.0, 8.82843137254902], [172.0, 9.586734693877549], [171.0, 10.179775280898877], [170.0, 9.89855072463768], [169.0, 9.48936170212766], [183.0, 29.387096774193555], [182.0, 16.373239436619716], [180.0, 18.044776119402986], [181.0, 14.277777777777786], [179.0, 9.517857142857142], [177.0, 11.222222222222221], [176.0, 10.833333333333337], [178.0, 9.244444444444444], [190.0, 13.833333333333334], [191.0, 16.053763440860212], [189.0, 13.666666666666666], [188.0, 13.000000000000004], [187.0, 12.02], [186.0, 12.388297872340418], [185.0, 47.34862385321102], [184.0, 56.699316628701546], [194.0, 205.81967213114757], [192.0, 655.6944444444445], [193.0, 351.3000000000002], [198.0, 13.025000000000002], [196.0, 11.835164835164836], [195.0, 9.629629629629632], [199.0, 12.666666666666668], [197.0, 12.692307692307695], [201.0, 12.142857142857142], [200.0, 18.5], [202.0, 11.956521739130435], [203.0, 14.050000000000006], [207.0, 11.319919517102601], [204.0, 11.734939759036141], [206.0, 10.116216216216209], [205.0, 9.910714285714292], [215.0, 11.808219178082192], [209.0, 10.599078341013826], [210.0, 12.495999999999997], [213.0, 15.355555555555558], [211.0, 13.117647058823534], [214.0, 15.224489795918364], [212.0, 15.615384615384615], [208.0, 11.5226586102719], [216.0, 114.20065789473676], [217.0, 11.159203980099514], [222.0, 12.923076923076918], [223.0, 11.0], [221.0, 13.0], [220.0, 14.0], [219.0, 17.43497757847533], [218.0, 11.093150684931503], [224.0, 10.21052631578947], [225.0, 14.215827338129495], [226.0, 7.153846153846153], [227.0, 16.073170731707314], [228.0, 13.205882352941176], [229.0, 18.846153846153847], [230.0, 16.772727272727273], [231.0, 18.859649122807028], [232.0, 21.214285714285715], [233.0, 21.129411764705885], [234.0, 26.666666666666668], [235.0, 31.301886792452823], [236.0, 17.2621359223301], [237.0, 16.065573770491802], [238.0, 14.307692307692308], [239.0, 17.395833333333332], [240.0, 15.787610619469028], [241.0, 15.850678733031684], [242.0, 14.582278481012656], [243.0, 10.62962962962963], [244.0, 9.370370370370368], [245.0, 11.750000000000004], [246.0, 8.514705882352938], [247.0, 17.227272727272727], [248.0, 57.01515151515153], [249.0, 70.82499999999997], [250.0, 9.25], [251.0, 21.903846153846153], [252.0, 19.759999999999994], [253.0, 40.8888888888889], [254.0, 16.53846153846154], [255.0, 21.423076923076927], [257.0, 86.85714285714289], [256.0, 21.13953488372093], [258.0, 16.791666666666664], [259.0, 48.359375], [260.0, 19.217391304347828], [261.0, 18.97777777777778], [262.0, 31.63636363636363], [263.0, 50.35164835164833], [264.0, 36.11111111111111], [270.0, 30.767441860465116], [271.0, 11.735849056603774], [268.0, 9.68], [269.0, 51.19696969696968], [265.0, 34.925000000000004], [266.0, 18.688311688311682], [267.0, 22.133333333333336], [273.0, 47.777777777777786], [272.0, 22.561904761904763], [274.0, 16.078125], [275.0, 56.62857142857144], [276.0, 138.44117647058826], [277.0, 12.34782608695652], [278.0, 18.397260273972602], [279.0, 20.12903225806452], [280.0, 14.606557377049178], [286.0, 12.927272727272724], [287.0, 30.336448598130836], [284.0, 11.837209302325581], [285.0, 11.02222222222222], [281.0, 8.794117647058822], [282.0, 18.875], [283.0, 10.454545454545455], [289.0, 14.404761904761902], [288.0, 19.716417910447756], [290.0, 16.887500000000003], [291.0, 14.021739130434781], [292.0, 19.72340425531915], [293.0, 44.01612903225807], [294.0, 11.0], [295.0, 13.039215686274511], [296.0, 44.42592592592594], [302.0, 10.144736842105262], [303.0, 17.87951807228915], [300.0, 19.036363636363642], [301.0, 32.02439024390244], [297.0, 24.954545454545453], [298.0, 28.374999999999996], [299.0, 12.613636363636363], [305.0, 20.64], [304.0, 89.86792452830188], [306.0, 18.647619047619052], [307.0, 11.909090909090908], [308.0, 16.88095238095238], [309.0, 29.000000000000004], [310.0, 42.40789473684211], [311.0, 18.815789473684205], [312.0, 13.39655172413793], [318.0, 34.78124999999999], [319.0, 17.777777777777775], [316.0, 20.30882352941176], [317.0, 36.53932584269662], [313.0, 96.61904761904759], [314.0, 19.90760869565218], [315.0, 18.81651376146789], [321.0, 35.702127659574465], [320.0, 15.47826086956522], [322.0, 266.5283018867926], [323.0, 203.86956521739125], [324.0, 44.749999999999986], [325.0, 151.65789473684208], [326.0, 43.966666666666704], [327.0, 30.627358490566046], [328.0, 46.59550561797754], [335.0, 24.933333333333337], [332.0, 47.79166666666668], [333.0, 25.0], [334.0, 18.695652173913047], [329.0, 16.3], [330.0, 19.06153846153846], [331.0, 20.476510067114106], [339.0, 12.95], [337.0, 41.47058823529411], [336.0, 22.777777777777775], [338.0, 30.48275862068967], [340.0, 62.26530612244893], [342.0, 19.303030303030297], [341.0, 23.153846153846146], [343.0, 38.6949152542373], [344.0, 27.144736842105253], [351.0, 18.875], [349.0, 29.1865671641791], [348.0, 22.197802197802197], [350.0, 22.130769230769225], [345.0, 61.4], [346.0, 18.163265306122447], [347.0, 24.652173913043477], [353.0, 69.19402985074625], [352.0, 15.020833333333336], [354.0, 30.050847457627125], [355.0, 81.36458333333334], [357.0, 115.0], [356.0, 28.0], [358.0, 32.95918367346938], [359.0, 20.708860759493668], [360.0, 20.630630630630638], [366.0, 14.192982456140353], [367.0, 14.454545454545457], [364.0, 49.20289855072463], [365.0, 14.812499999999998], [361.0, 23.90625], [362.0, 23.025000000000002], [363.0, 20.204081632653068], [369.0, 28.67272727272726], [368.0, 67.972972972973], [370.0, 24.13333333333333], [371.0, 46.24271844660194], [372.0, 77.58333333333337], [373.0, 24.8125], [374.0, 69.25000000000001], [375.0, 186.0519480519481], [376.0, 35.237288135593225], [380.0, 67.52307692307691], [382.0, 25.4375], [381.0, 24.875], [383.0, 27.099999999999998], [377.0, 134.36231884057975], [378.0, 78.33333333333333], [379.0, 60.79452054794519], [391.0, 77.0], [388.0, 94.0533333333333], [387.0, 82.013698630137], [386.0, 22.93548387096774], [385.0, 24.000000000000004], [384.0, 26.4], [397.0, 25.466666666666665], [396.0, 25.000000000000004], [389.0, 28.19512195121951], [390.0, 79.66871165644169], [392.0, 44.76119402985075], [393.0, 47.65714285714287], [394.0, 33.6636363636364], [395.0, 25.363636363636363], [399.0, 28.230769230769234], [398.0, 26.700000000000003], [403.0, 38.833333333333314], [401.0, 34.75757575757575], [400.0, 30.490566037735864], [402.0, 39.1641791044776], [404.0, 37.20792079207919], [406.0, 22.454545454545453], [405.0, 25.897435897435898], [407.0, 60.27272727272726], [408.0, 44.41379310344827], [415.0, 69.48717948717947], [414.0, 27.083333333333336], [412.0, 76.61538461538458], [413.0, 85.86666666666666], [409.0, 41.06976744186046], [410.0, 31.362416107382543], [411.0, 49.911111111111104], [430.0, 27.8], [417.0, 47.02459016393442], [416.0, 73.94444444444443], [423.0, 35.14545454545454], [422.0, 33.698113207547166], [421.0, 32.10714285714286], [420.0, 26.684210526315788], [418.0, 41.06249999999999], [419.0, 25.88372093023256], [431.0, 157.69491525423726], [425.0, 30.398230088495573], [424.0, 27.629629629629633], [429.0, 27.45945945945946], [428.0, 23.0], [427.0, 24.714285714285715], [426.0, 27.411764705882355], [434.0, 77.34146341463413], [433.0, 51.02479338842977], [432.0, 26.48717948717949], [435.0, 41.53080568720382], [444.0, 45.417582417582416], [445.0, 49.35454545454547], [446.0, 55.605263157894754], [447.0, 34.064935064935085], [436.0, 104.14432989690721], [437.0, 115.76315789473686], [438.0, 58.35], [439.0, 56.15384615384617], [440.0, 73.16666666666667], [441.0, 41.75510204081633], [442.0, 26.64705882352941], [443.0, 42.54901960784313], [449.0, 71.47999999999999], [448.0, 38.84761904761905], [450.0, 57.125000000000014], [451.0, 50.8130081300813], [452.0, 37.94208494208493], [453.0, 34.41031941031942], [454.0, 36.01547987616096], [455.0, 38.789855072463745], [456.0, 45.34065934065933], [462.0, 32.62365591397849], [463.0, 43.16541353383459], [460.0, 56.28985507246377], [461.0, 33.35000000000001], [457.0, 68.6282051282051], [458.0, 46.233333333333334], [459.0, 62.18987341772152], [465.0, 50.918238993710695], [464.0, 49.74556213017749], [466.0, 49.78240740740742], [467.0, 32.725806451612904], [477.0, 43.0], [476.0, 34.8], [479.0, 32.559999999999995], [478.0, 34.25], [468.0, 48.84313725490196], [469.0, 55.22340425531914], [470.0, 46.38211382113819], [471.0, 58.4054054054054], [472.0, 70.58620689655173], [473.0, 53.88235294117646], [474.0, 32.1275167785235], [475.0, 32.07518796992479], [492.0, 69.47222222222221], [488.0, 188.4888888888889], [487.0, 59.50847457627116], [481.0, 32.96], [480.0, 33.83333333333333], [483.0, 34.20754716981132], [482.0, 32.55952380952381], [486.0, 34.48571428571428], [485.0, 36.5], [484.0, 34.084269662921336], [489.0, 100.58536585365854], [490.0, 98.06122448979595], [491.0, 99.99186991869924], [493.0, 89.22950819672131], [494.0, 78.63265306122449], [495.0, 53.405063291139236], [497.0, 42.788888888888884], [496.0, 40.13471502590673], [498.0, 49.495327102803756], [499.0, 44.38524590163936], [500.0, 60.56521739130435], [501.0, 46.738219895287976], [502.0, 40.763157894736835], [503.0, 45.1150442477876], [504.0, 54.691729323308266], [510.0, 50.06504065040649], [511.0, 49.07964601769912], [508.0, 50.57142857142856], [509.0, 49.44], [505.0, 38.87499999999999], [506.0, 57.916666666666664], [507.0, 51.58762886597939], [513.0, 42.91056910569106], [523.0, 56.54216867469874], [512.0, 38.08333333333332], [526.0, 43.6098901098901], [527.0, 40.8970588235294], [514.0, 38.60000000000001], [516.0, 37.58695652173913], [515.0, 37.313725490196084], [518.0, 39.87500000000001], [517.0, 36.86486486486488], [519.0, 99.2537313432836], [528.0, 39.86206896551723], [543.0, 73.90243902439025], [541.0, 91.49142857142863], [542.0, 48.53333333333334], [539.0, 51.306666666666665], [538.0, 35.87096774193547], [540.0, 56.38095238095239], [536.0, 42.76991150442479], [537.0, 40.957264957264954], [529.0, 45.10526315789476], [530.0, 43.06593406593407], [531.0, 42.450980392156865], [532.0, 44.66019417475728], [533.0, 43.89075630252099], [534.0, 48.08695652173913], [535.0, 45.13008130081301], [520.0, 43.23711340206185], [521.0, 63.78991596638658], [522.0, 60.664670658682624], [524.0, 57.78723404255321], [525.0, 46.89937106918238], [550.0, 98.74809160305345], [555.0, 45.2962962962963], [551.0, 71.45762711864396], [569.0, 40.99999999999996], [570.0, 37.45714285714286], [568.0, 40.900000000000034], [572.0, 42.72], [573.0, 43.5], [574.0, 73.6062176165803], [575.0, 65.85669781931462], [561.0, 41.05], [560.0, 38.99999999999999], [563.0, 39.25], [562.0, 39.01904761904762], [565.0, 39.64661654135339], [564.0, 41.984848484848506], [567.0, 38.346666666666664], [566.0, 38.34615384615384], [552.0, 55.84374999999999], [549.0, 44.5], [548.0, 36.09090909090909], [547.0, 35.56338028169016], [546.0, 35.236842105263165], [545.0, 37.55263157894736], [544.0, 37.93750000000001], [558.0, 38.314814814814795], [559.0, 37.088235294117645], [553.0, 39.54700854700856], [554.0, 37.2173913043478], [556.0, 49.20992366412215], [557.0, 45.882978723404236], [579.0, 58.62422360248447], [576.0, 147.8181818181818], [591.0, 49.21167883211681], [590.0, 47.73749999999999], [589.0, 51.58928571428571], [588.0, 48.23809523809524], [587.0, 50.43589743589743], [586.0, 51.227272727272734], [585.0, 51.400000000000006], [584.0, 49.16666666666667], [577.0, 73.02395209580835], [578.0, 103.87647058823522], [580.0, 45.35211267605632], [581.0, 47.020202020202035], [582.0, 47.85430463576154], [583.0, 47.73282442748092], [598.0, 160.02808988764048], [599.0, 218.02777777777777], [597.0, 69.58793969849243], [596.0, 50.28690228690228], [595.0, 81.57597173144867], [594.0, 49.74015748031496], [592.0, 48.480000000000004], [593.0, 56.25], [1.0, 0.36363636363636365]], "isOverall": false, "label": "Create a book", "isController": false}, {"data": [[229.2913750000011, 27.11711250000013]], "isOverall": false, "label": "Create a book-Aggregated", "isController": false}, {"data": [[2.0, 0.4499999999999999], [3.0, 0.4166666666666667], [4.0, 0.42268907563025276], [5.0, 0.4928049590436132], [6.0, 0.5666380051590713], [7.0, 0.5863970588235297], [8.0, 0.8131782945736437], [9.0, 0.8636588993554777], [10.0, 0.8835443037974687], [11.0, 0.6944444444444444], [12.0, 0.6564885496183205], [13.0, 0.7857142857142858], [14.0, 1.038095238095238], [15.0, 0.8313253012048193], [16.0, 0.7105263157894739], [17.0, 0.9629629629629632], [18.0, 0.8260869565217389], [19.0, 0.8400000000000002], [20.0, 0.9365079365079364], [21.0, 0.9672131147540985], [22.0, 0.9999999999999999], [23.0, 1.1875000000000002], [24.0, 1.111111111111111], [25.0, 0.8999999999999999], [26.0, 1.2537313432835824], [27.0, 1.8529411764705883], [28.0, 1.0322580645161286], [29.0, 1.4000000000000001], [30.0, 1.2564102564102564], [31.0, 1.2717948717948715], [33.0, 1.3184855233853003], [32.0, 1.2429378531073438], [35.0, 1.571428571428571], [34.0, 1.552693208430913], [37.0, 1.6372549019607845], [36.0, 2.814960629921258], [39.0, 1.5573248407643303], [38.0, 1.580827067669172], [41.0, 1.875354107648726], [40.0, 1.7298050139275758], [43.0, 2.0311111111111093], [42.0, 1.995260663507108], [45.0, 2.2401960784313717], [44.0, 2.1446280991735533], [47.0, 2.052953156822812], [46.0, 1.8021978021978027], [49.0, 3.216494845360822], [48.0, 2.1951640759930915], [50.0, 8.10251450676983], [51.0, 3.522388059701495], [53.0, 2.5354330708661417], [52.0, 1.8939393939393938], [55.0, 2.461538461538462], [54.0, 2.560209424083768], [57.0, 2.7050243111831462], [56.0, 7.954248366013076], [59.0, 2.5735294117647056], [58.0, 2.6461538461538465], [61.0, 31.296296296296298], [60.0, 10.058394160583944], [63.0, 4.9644970414201195], [62.0, 2.6960784313725488], [66.0, 2.8111888111888117], [65.0, 2.4142857142857133], [64.0, 27.666666666666657], [67.0, 37.132530120481945], [71.0, 3.1363636363636385], [70.0, 16.40318906605922], [68.0, 9.023809523809526], [69.0, 3.118556701030928], [75.0, 3.9864864864864864], [73.0, 3.1684587813620064], [72.0, 3.2088888888888896], [74.0, 3.752941176470588], [78.0, 3.338775510204084], [77.0, 3.431818181818182], [76.0, 21.783333333333346], [79.0, 3.459574468085105], [83.0, 4.040345821325643], [82.0, 3.969483568075121], [81.0, 3.8074957410562162], [80.0, 3.4299516908212557], [87.0, 4.183098591549295], [86.0, 4.028985507246376], [85.0, 3.803738317757011], [84.0, 4.02840909090909], [91.0, 4.795857988165685], [90.0, 5.083333333333335], [89.0, 5.038461538461537], [88.0, 4.170454545454547], [95.0, 4.295454545454542], [94.0, 129.3090909090909], [93.0, 16.738532110091743], [92.0, 4.934131736526942], [99.0, 7.190082644628099], [98.0, 4.789237668161435], [97.0, 5.518072289156625], [96.0, 5.07142857142857], [103.0, 4.753768844221106], [102.0, 5.048780487804877], [101.0, 5.3446327683615795], [100.0, 5.3181818181818175], [107.0, 4.934065934065935], [106.0, 6.016528925619834], [105.0, 4.5131578947368425], [104.0, 5.1858974358974335], [111.0, 5.586956521739131], [110.0, 7.296296296296298], [109.0, 6.272727272727272], [108.0, 43.78894472361807], [115.0, 6.329710144927535], [114.0, 5.796833773087069], [112.0, 39.32549019607839], [113.0, 5.372727272727277], [119.0, 7.313253012048194], [118.0, 6.208791208791207], [117.0, 6.509803921568627], [116.0, 6.1923076923076925], [123.0, 7.352941176470588], [122.0, 13.107142857142854], [121.0, 12.675000000000002], [120.0, 5.609375000000003], [127.0, 7.500000000000002], [126.0, 6.3125], [125.0, 5.540540540540541], [124.0, 6.411764705882352], [135.0, 7.692307692307695], [134.0, 7.617647058823532], [133.0, 8.096774193548388], [132.0, 63.91111111111111], [131.0, 20.79699248120301], [129.0, 6.9920318725099575], [128.0, 6.755102040816327], [130.0, 6.407725321888415], [143.0, 5.97674418604651], [142.0, 7.82857142857143], [141.0, 8.21621621621622], [140.0, 7.3], [139.0, 7.281250000000001], [138.0, 7.071428571428571], [137.0, 10.043478260869566], [136.0, 6.034482758620691], [151.0, 8.743243243243247], [150.0, 9.056338028169014], [149.0, 8.26380368098159], [148.0, 8.035587188612103], [147.0, 7.63846153846154], [146.0, 8.97663551401869], [144.0, 6.928571428571428], [145.0, 5.7471264367816115], [159.0, 9.280000000000003], [158.0, 9.175510204081636], [157.0, 11.36909871244635], [155.0, 8.050000000000002], [154.0, 7.326732673267327], [153.0, 8.922580645161283], [152.0, 9.493670886075948], [156.0, 86.25609756097559], [167.0, 7.733333333333333], [166.0, 7.625], [165.0, 7.466666666666667], [164.0, 8.899999999999995], [163.0, 7.031250000000001], [162.0, 7.285714285714286], [161.0, 9.499999999999995], [160.0, 9.277777777777775], [175.0, 8.88505747126437], [174.0, 7.922388059701489], [173.0, 8.010025062656638], [172.0, 8.414529914529911], [171.0, 7.9135802469135825], [170.0, 8.06779661016949], [169.0, 10.279069767441863], [168.0, 8.0], [183.0, 37.01052631578946], [182.0, 11.654999999999998], [180.0, 9.8300395256917], [181.0, 12.165354330708665], [179.0, 10.1044776119403], [178.0, 8.43137254901961], [177.0, 10.288888888888886], [176.0, 10.749999999999998], [191.0, 13.771084337349391], [190.0, 13.076923076923077], [189.0, 13.181818181818182], [188.0, 11.239436619718308], [187.0, 11.077490774907753], [186.0, 10.794979079497914], [185.0, 102.08910891089111], [184.0, 71.98493975903615], [199.0, 12.444444444444446], [198.0, 12.323529411764707], [197.0, 11.590000000000002], [196.0, 10.725663716814154], [195.0, 9.722222222222225], [194.0, 9.911111111111108], [193.0, 13.382978723404252], [192.0, 11.454545454545455], [207.0, 10.323651452282158], [205.0, 9.108527131782953], [204.0, 10.478260869565219], [203.0, 12.792079207920787], [202.0, 11.761904761904761], [201.0, 10.360655737704917], [200.0, 10.4], [206.0, 9.466850828729282], [215.0, 100.989898989899], [214.0, 13.23684210526316], [213.0, 15.181818181818182], [212.0, 14.357142857142858], [211.0, 12.337748344370858], [210.0, 11.610169491525422], [209.0, 9.846341463414632], [208.0, 10.661337209302339], [221.0, 30.02631578947367], [222.0, 13.602739726027394], [223.0, 14.057142857142859], [220.0, 13.7], [219.0, 17.672489082969435], [218.0, 9.774271844660198], [217.0, 9.86614173228346], [216.0, 81.66400000000003], [224.0, 18.23076923076923], [225.0, 16.77922077922078], [226.0, 23.750000000000004], [227.0, 22.487179487179485], [228.0, 11.531250000000002], [229.0, 24.83088235294117], [230.0, 16.048780487804876], [231.0, 15.195121951219514], [232.0, 31.851063829787247], [233.0, 18.49504950495049], [234.0, 29.317460317460313], [235.0, 65.64], [236.0, 15.138297872340425], [237.0, 45.64062499999998], [238.0, 36.515151515151516], [239.0, 84.85454545454549], [240.0, 16.065934065934073], [241.0, 14.773809523809526], [242.0, 51.83544303797466], [243.0, 108.88235294117646], [244.0, 46.05714285714286], [245.0, 48.828571428571415], [246.0, 108.1208791208791], [247.0, 74.36842105263159], [248.0, 45.95774647887322], [249.0, 8.142857142857144], [250.0, 6.064516129032258], [251.0, 20.467741935483872], [252.0, 12.236363636363638], [253.0, 24.3921568627451], [254.0, 7.979166666666668], [255.0, 5.714285714285714], [259.0, 32.078431372549005], [257.0, 32.41025641025641], [256.0, 37.67391304347826], [258.0, 9.361702127659575], [262.0, 18.061538461538454], [261.0, 17.562500000000004], [260.0, 17.666666666666668], [263.0, 62.60273972602741], [264.0, 5.851063829787234], [270.0, 36.33333333333333], [271.0, 8.594594594594593], [268.0, 16.51219512195122], [269.0, 61.50574712643684], [265.0, 82.64864864864865], [266.0, 29.857142857142858], [267.0, 9.617021276595743], [273.0, 41.54347826086957], [272.0, 24.16504854368932], [274.0, 13.240000000000002], [275.0, 20.369565217391305], [276.0, 106.35714285714289], [277.0, 9.023809523809524], [278.0, 16.611940298507466], [279.0, 14.06862745098039], [280.0, 16.980000000000008], [286.0, 11.42622950819672], [287.0, 14.577464788732394], [284.0, 9.285714285714286], [285.0, 8.215686274509803], [281.0, 8.471428571428573], [282.0, 36.2923076923077], [283.0, 10.446428571428573], [289.0, 13.74], [288.0, 12.076923076923075], [290.0, 15.614285714285716], [291.0, 13.044776119402982], [292.0, 64.36363636363639], [293.0, 31.027027027027014], [294.0, 31.151515151515152], [295.0, 37.835820895522374], [296.0, 25.61702127659574], [302.0, 9.563218390804602], [303.0, 16.578947368421048], [300.0, 18.184210526315795], [301.0, 10.742857142857142], [297.0, 31.090909090909086], [298.0, 30.723404255319142], [299.0, 16.75], [305.0, 11.5], [304.0, 99.05454545454545], [306.0, 13.999999999999998], [307.0, 13.011764705882356], [308.0, 15.768292682926829], [309.0, 62.05882352941177], [310.0, 14.246753246753242], [311.0, 14.954545454545457], [312.0, 11.529411764705886], [318.0, 15.288888888888886], [319.0, 14.516129032258062], [316.0, 18.243902439024392], [317.0, 52.643835616438366], [313.0, 121.9770114942529], [314.0, 18.437086092715223], [315.0, 16.74809160305343], [321.0, 84.6231884057971], [320.0, 34.120000000000005], [322.0, 265.4242424242424], [323.0, 111.02564102564102], [324.0, 55.65432098765433], [325.0, 193.94444444444443], [326.0, 39.4607329842932], [327.0, 28.683257918552034], [328.0, 25.394230769230777], [335.0, 23.5], [332.0, 48.83193277310921], [334.0, 17.846153846153843], [329.0, 18.111111111111114], [330.0, 19.047619047619047], [331.0, 16.46308724832214], [339.0, 14.252873563218397], [337.0, 38.673076923076934], [336.0, 19.466666666666665], [338.0, 20.24590163934426], [340.0, 59.280254777070056], [342.0, 19.826086956521735], [341.0, 21.217391304347824], [343.0, 28.747474747474747], [344.0, 20.927272727272726], [350.0, 16.594339622641506], [351.0, 11.041666666666668], [348.0, 28.249999999999996], [349.0, 19.831168831168842], [345.0, 48.85000000000001], [346.0, 11.483870967741934], [347.0, 25.374999999999996], [353.0, 20.76923076923077], [352.0, 12.205882352941176], [354.0, 16.065217391304348], [355.0, 77.99099099099101], [357.0, 52.260869565217384], [358.0, 19.136842105263156], [359.0, 18.514705882352942], [360.0, 18.864077669902912], [366.0, 12.343750000000004], [367.0, 11.131578947368421], [364.0, 45.92537313432837], [365.0, 10.724137931034482], [361.0, 22.115384615384617], [362.0, 21.416666666666668], [363.0, 37.68888888888889], [369.0, 14.56862745098039], [368.0, 22.947368421052634], [370.0, 18.399999999999995], [371.0, 57.58241758241757], [372.0, 87.25925925925924], [373.0, 23.950000000000003], [374.0, 118.82812500000004], [375.0, 120.29629629629628], [376.0, 28.808219178082197], [380.0, 46.12], [382.0, 19.0], [381.0, 25.451612903225804], [383.0, 21.700000000000003], [377.0, 71.1269841269841], [378.0, 90.66666666666667], [379.0, 26.313725490196077], [391.0, 65.45652173913044], [388.0, 109.80341880341881], [387.0, 54.00000000000001], [386.0, 23.05], [385.0, 23.706896551724146], [384.0, 21.666666666666668], [397.0, 24.454545454545453], [396.0, 24.625], [389.0, 36.56249999999999], [390.0, 67.86857142857134], [392.0, 44.21739130434783], [393.0, 36.32692307692308], [394.0, 31.500974658869385], [395.0, 25.75], [399.0, 26.299999999999997], [398.0, 25.912280701754383], [401.0, 33.84999999999999], [400.0, 28.83928571428572], [402.0, 34.13725490196079], [403.0, 38.980295566502456], [404.0, 32.581395348837226], [405.0, 26.666666666666668], [406.0, 24.555555555555554], [407.0, 62.93181818181819], [408.0, 50.71875000000001], [415.0, 62.721153846153825], [414.0, 27.071428571428577], [412.0, 64.37499999999999], [413.0, 82.25], [409.0, 57.60784313725493], [410.0, 33.820809248554895], [411.0, 58.83673469387754], [430.0, 26.513513513513512], [417.0, 41.36363636363635], [416.0, 64.84848484848483], [423.0, 33.5], [422.0, 32.355555555555554], [421.0, 28.750000000000004], [420.0, 25.01492537313433], [418.0, 42.72727272727272], [419.0, 25.43333333333333], [431.0, 140.25423728813558], [425.0, 30.149606299212603], [424.0, 28.571428571428577], [429.0, 26.695652173913047], [428.0, 21.8], [427.0, 25.9], [426.0, 29.0483870967742], [433.0, 45.66183574879226], [432.0, 25.16071428571428], [434.0, 76.94674556213019], [435.0, 43.95215311004786], [436.0, 74.56074766355138], [437.0, 75.31481481481481], [438.0, 46.148936170212764], [439.0, 50.270072992700726], [440.0, 72.41666666666667], [446.0, 47.20512820512818], [447.0, 33.425000000000004], [444.0, 45.95238095238094], [445.0, 51.27619047619049], [441.0, 46.89361702127661], [442.0, 28.955555555555552], [443.0, 41.25531914893618], [449.0, 49.30769230769234], [448.0, 36.101123595505605], [450.0, 48.951612903225794], [451.0, 55.457142857142856], [452.0, 32.70351758793972], [453.0, 31.76315789473682], [454.0, 33.04037267080746], [455.0, 38.059999999999974], [456.0, 44.68131868131866], [462.0, 30.86740331491713], [463.0, 48.40579710144929], [460.0, 52.224999999999994], [461.0, 30.63157894736842], [457.0, 74.53246753246755], [458.0, 43.6969696969697], [459.0, 56.39316239316242], [465.0, 45.15267175572518], [464.0, 38.9056603773585], [466.0, 45.693779904306204], [476.0, 32.75], [467.0, 31.435897435897438], [479.0, 30.926829268292682], [478.0, 30.8], [468.0, 51.1891891891892], [469.0, 41.73584905660377], [470.0, 45.92546583850933], [471.0, 50.645161290322584], [472.0, 65.8181818181818], [473.0, 42.465346534653484], [474.0, 31.636029411764724], [475.0, 31.95959595959597], [492.0, 75.82926829268291], [488.0, 166.54385964912285], [487.0, 75.69999999999999], [481.0, 33.2], [480.0, 31.631578947368414], [483.0, 33.18032786885246], [482.0, 31.84810126582277], [486.0, 31.541666666666668], [485.0, 35.041666666666664], [484.0, 33.218181818181826], [489.0, 129.00000000000003], [490.0, 108.69298245614044], [491.0, 85.86255924170622], [493.0, 68.0], [494.0, 64.54545454545453], [495.0, 47.27380952380953], [497.0, 43.18904109589039], [496.0, 40.1878453038674], [498.0, 45.50943396226417], [499.0, 41.67741935483871], [500.0, 58.93877551020408], [501.0, 44.07853403141364], [502.0, 39.98969072164949], [503.0, 42.66666666666667], [504.0, 55.0675675675676], [510.0, 47.158273381295], [511.0, 48.63917525773196], [508.0, 49.24390243902439], [509.0, 55.62264150943398], [505.0, 37.75], [506.0, 60.666666666666664], [507.0, 47.85454545454545], [513.0, 38.114754098360656], [523.0, 51.75213675213673], [512.0, 38.25757575757576], [526.0, 40.12426035502958], [527.0, 39.19101123595504], [514.0, 36.96153846153847], [516.0, 36.33962264150942], [515.0, 37.20270270270271], [518.0, 35.102564102564095], [517.0, 33.931034482758626], [519.0, 92.75609756097556], [528.0, 36.64646464646466], [543.0, 58.61111111111111], [541.0, 88.42666666666666], [542.0, 36.65384615384615], [539.0, 44.25714285714285], [538.0, 33.0], [540.0, 52.41176470588235], [536.0, 41.132352941176464], [537.0, 38.85365853658535], [529.0, 42.85393258426966], [530.0, 41.322222222222216], [531.0, 41.54347826086957], [532.0, 39.70588235294118], [533.0, 42.98969072164947], [534.0, 45.49382716049382], [535.0, 45.27528089887641], [520.0, 46.918367346938766], [521.0, 59.54700854700854], [522.0, 59.55999999999997], [524.0, 55.83684210526317], [525.0, 45.55978260869564], [550.0, 89.42361111111117], [555.0, 45.1375], [551.0, 88.11552346570404], [569.0, 39.68750000000002], [568.0, 37.83653846153847], [571.0, 44.0], [570.0, 35.24324324324325], [572.0, 41.86904761904761], [573.0, 42.38888888888889], [574.0, 84.99000000000002], [575.0, 83.11815561959651], [561.0, 39.37931034482757], [560.0, 35.625], [563.0, 38.1875], [562.0, 37.39473684210525], [565.0, 39.34745762711866], [564.0, 40.24999999999999], [567.0, 37.735483870967734], [566.0, 37.42268041237114], [552.0, 51.47927461139894], [549.0, 42.28571428571429], [548.0, 35.481481481481495], [547.0, 35.65625], [546.0, 34.753424657534254], [545.0, 36.95652173913044], [544.0, 36.23529411764706], [558.0, 32.31168831168831], [559.0, 36.9], [553.0, 44.53164556962023], [554.0, 35.306930693069305], [556.0, 46.839378238341936], [557.0, 41.327731092436956], [579.0, 51.948905109489054], [576.0, 127.95454545454547], [591.0, 47.59859154929579], [590.0, 47.495762711864444], [589.0, 49.607843137254896], [588.0, 41.57142857142857], [587.0, 49.00000000000001], [586.0, 48.96666666666666], [585.0, 47.04347826086956], [584.0, 49.69230769230769], [577.0, 79.19266055045878], [578.0, 80.99428571428575], [580.0, 45.90076335877861], [581.0, 43.72018348623853], [582.0, 46.298734177215195], [583.0, 49.68987341772152], [598.0, 161.67788461538473], [599.0, 201.00000000000003], [597.0, 73.17034700315453], [596.0, 45.34259259259256], [595.0, 64.38330494037486], [594.0, 49.31511254019294], [592.0, 48.410256410256416], [593.0, 45.81818181818183], [1.0, 0.49999999999999994]], "isOverall": false, "label": "Get book by id", "isController": false}, {"data": [[229.20001250000183, 23.038899999999767]], "isOverall": false, "label": "Get book by id-Aggregated", "isController": false}], "supportsControllersDiscrimination": true, "maxX": 599.0, "title": "Time VS Threads"}},
        getOptions: function() {
            return {
                series: {
                    lines: {
                        show: true
                    },
                    points: {
                        show: true
                    }
                },
                xaxis: {
                    axisLabel: "Number of active threads",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Average response times in ms",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20
                },
                legend: { noColumns: 2,show: true, container: '#legendTimeVsThreads' },
                selection: {
                    mode: 'xy'
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to work
                },
                tooltip: true,
                tooltipOpts: {
                    content: "%s: At %x.2 active threads, Average response time was %y.2 ms"
                }
            };
        },
        createGraph: function() {
            var data = this.data;
            var dataset = prepareData(data.result.series, $("#choicesTimeVsThreads"));
            var options = this.getOptions();
            prepareOptions(options, data);
            $.plot($("#flotTimesVsThreads"), dataset, options);
            // setup overview
            $.plot($("#overviewTimesVsThreads"), dataset, prepareOverviewOptions(options));
        }
};

// Time vs threads
function refreshTimeVsThreads(){
    var infos = timeVsThreadsInfos;
    prepareSeries(infos.data);
    if(infos.data.result.series.length == 0) {
        setEmptyGraph("#bodyTimeVsThreads");
        return;
    }
    if(isGraph($("#flotTimesVsThreads"))){
        infos.createGraph();
    }else{
        var choiceContainer = $("#choicesTimeVsThreads");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotTimesVsThreads", "#overviewTimesVsThreads");
        $('#footerTimeVsThreads .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};

var bytesThroughputOverTimeInfos = {
        data : {"result": {"minY": 589190.1166666667, "minX": 1.703994E12, "maxY": 595856.7833333333, "series": [{"data": [[1.703994E12, 595856.7833333333]], "isOverall": false, "label": "Bytes received per second", "isController": false}, {"data": [[1.703994E12, 589190.1166666667]], "isOverall": false, "label": "Bytes sent per second", "isController": false}], "supportsControllersDiscrimination": false, "granularity": 60000, "maxX": 1.703994E12, "title": "Bytes Throughput Over Time"}},
        getOptions : function(){
            return {
                series: {
                    lines: {
                        show: true
                    },
                    points: {
                        show: true
                    }
                },
                xaxis: {
                    mode: "time",
                    timeformat: getTimeFormat(this.data.result.granularity),
                    axisLabel: getElapsedTimeLabel(this.data.result.granularity) ,
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Bytes / sec",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                legend: {
                    noColumns: 2,
                    show: true,
                    container: '#legendBytesThroughputOverTime'
                },
                selection: {
                    mode: "xy"
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: "%s at %x was %y"
                }
            };
        },
        createGraph : function() {
            var data = this.data;
            var dataset = prepareData(data.result.series, $("#choicesBytesThroughputOverTime"));
            var options = this.getOptions();
            prepareOptions(options, data);
            $.plot($("#flotBytesThroughputOverTime"), dataset, options);
            // setup overview
            $.plot($("#overviewBytesThroughputOverTime"), dataset, prepareOverviewOptions(options));
        }
};

// Bytes throughput Over Time
function refreshBytesThroughputOverTime(fixTimestamps) {
    var infos = bytesThroughputOverTimeInfos;
    prepareSeries(infos.data);
    if(fixTimestamps) {
        fixTimeStamps(infos.data.result.series, 28800000);
    }
    if(isGraph($("#flotBytesThroughputOverTime"))){
        infos.createGraph();
    }else{
        var choiceContainer = $("#choicesBytesThroughputOverTime");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotBytesThroughputOverTime", "#overviewBytesThroughputOverTime");
        $('#footerBytesThroughputOverTime .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
}

var responseTimesOverTimeInfos = {
        data: {"result": {"minY": 23.038899999999767, "minX": 1.703994E12, "maxY": 27.11711250000013, "series": [{"data": [[1.703994E12, 27.11711250000013]], "isOverall": false, "label": "Create a book", "isController": false}, {"data": [[1.703994E12, 23.038899999999767]], "isOverall": false, "label": "Get book by id", "isController": false}], "supportsControllersDiscrimination": true, "granularity": 60000, "maxX": 1.703994E12, "title": "Response Time Over Time"}},
        getOptions: function(){
            return {
                series: {
                    lines: {
                        show: true
                    },
                    points: {
                        show: true
                    }
                },
                xaxis: {
                    mode: "time",
                    timeformat: getTimeFormat(this.data.result.granularity),
                    axisLabel: getElapsedTimeLabel(this.data.result.granularity),
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Average response time in ms",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                legend: {
                    noColumns: 2,
                    show: true,
                    container: '#legendResponseTimesOverTime'
                },
                selection: {
                    mode: 'xy'
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: "%s : at %x Average response time was %y ms"
                }
            };
        },
        createGraph: function() {
            var data = this.data;
            var dataset = prepareData(data.result.series, $("#choicesResponseTimesOverTime"));
            var options = this.getOptions();
            prepareOptions(options, data);
            $.plot($("#flotResponseTimesOverTime"), dataset, options);
            // setup overview
            $.plot($("#overviewResponseTimesOverTime"), dataset, prepareOverviewOptions(options));
        }
};

// Response Times Over Time
function refreshResponseTimeOverTime(fixTimestamps) {
    var infos = responseTimesOverTimeInfos;
    prepareSeries(infos.data);
    if(infos.data.result.series.length == 0) {
        setEmptyGraph("#bodyResponseTimeOverTime");
        return;
    }
    if(fixTimestamps) {
        fixTimeStamps(infos.data.result.series, 28800000);
    }
    if(isGraph($("#flotResponseTimesOverTime"))){
        infos.createGraph();
    }else{
        var choiceContainer = $("#choicesResponseTimesOverTime");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotResponseTimesOverTime", "#overviewResponseTimesOverTime");
        $('#footerResponseTimesOverTime .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};

var latenciesOverTimeInfos = {
        data: {"result": {"minY": 23.017424999999815, "minX": 1.703994E12, "maxY": 27.073025000000214, "series": [{"data": [[1.703994E12, 27.073025000000214]], "isOverall": false, "label": "Create a book", "isController": false}, {"data": [[1.703994E12, 23.017424999999815]], "isOverall": false, "label": "Get book by id", "isController": false}], "supportsControllersDiscrimination": true, "granularity": 60000, "maxX": 1.703994E12, "title": "Latencies Over Time"}},
        getOptions: function() {
            return {
                series: {
                    lines: {
                        show: true
                    },
                    points: {
                        show: true
                    }
                },
                xaxis: {
                    mode: "time",
                    timeformat: getTimeFormat(this.data.result.granularity),
                    axisLabel: getElapsedTimeLabel(this.data.result.granularity),
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Average response latencies in ms",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                legend: {
                    noColumns: 2,
                    show: true,
                    container: '#legendLatenciesOverTime'
                },
                selection: {
                    mode: 'xy'
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: "%s : at %x Average latency was %y ms"
                }
            };
        },
        createGraph: function () {
            var data = this.data;
            var dataset = prepareData(data.result.series, $("#choicesLatenciesOverTime"));
            var options = this.getOptions();
            prepareOptions(options, data);
            $.plot($("#flotLatenciesOverTime"), dataset, options);
            // setup overview
            $.plot($("#overviewLatenciesOverTime"), dataset, prepareOverviewOptions(options));
        }
};

// Latencies Over Time
function refreshLatenciesOverTime(fixTimestamps) {
    var infos = latenciesOverTimeInfos;
    prepareSeries(infos.data);
    if(infos.data.result.series.length == 0) {
        setEmptyGraph("#bodyLatenciesOverTime");
        return;
    }
    if(fixTimestamps) {
        fixTimeStamps(infos.data.result.series, 28800000);
    }
    if(isGraph($("#flotLatenciesOverTime"))) {
        infos.createGraph();
    }else {
        var choiceContainer = $("#choicesLatenciesOverTime");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotLatenciesOverTime", "#overviewLatenciesOverTime");
        $('#footerLatenciesOverTime .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};

var connectTimeOverTimeInfos = {
        data: {"result": {"minY": 0.0, "minX": 1.703994E12, "maxY": 2.800724999999971, "series": [{"data": [[1.703994E12, 2.800724999999971]], "isOverall": false, "label": "Create a book", "isController": false}, {"data": [[1.703994E12, 0.0]], "isOverall": false, "label": "Get book by id", "isController": false}], "supportsControllersDiscrimination": true, "granularity": 60000, "maxX": 1.703994E12, "title": "Connect Time Over Time"}},
        getOptions: function() {
            return {
                series: {
                    lines: {
                        show: true
                    },
                    points: {
                        show: true
                    }
                },
                xaxis: {
                    mode: "time",
                    timeformat: getTimeFormat(this.data.result.granularity),
                    axisLabel: getConnectTimeLabel(this.data.result.granularity),
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Average Connect Time in ms",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                legend: {
                    noColumns: 2,
                    show: true,
                    container: '#legendConnectTimeOverTime'
                },
                selection: {
                    mode: 'xy'
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: "%s : at %x Average connect time was %y ms"
                }
            };
        },
        createGraph: function () {
            var data = this.data;
            var dataset = prepareData(data.result.series, $("#choicesConnectTimeOverTime"));
            var options = this.getOptions();
            prepareOptions(options, data);
            $.plot($("#flotConnectTimeOverTime"), dataset, options);
            // setup overview
            $.plot($("#overviewConnectTimeOverTime"), dataset, prepareOverviewOptions(options));
        }
};

// Connect Time Over Time
function refreshConnectTimeOverTime(fixTimestamps) {
    var infos = connectTimeOverTimeInfos;
    prepareSeries(infos.data);
    if(infos.data.result.series.length == 0) {
        setEmptyGraph("#bodyConnectTimeOverTime");
        return;
    }
    if(fixTimestamps) {
        fixTimeStamps(infos.data.result.series, 28800000);
    }
    if(isGraph($("#flotConnectTimeOverTime"))) {
        infos.createGraph();
    }else {
        var choiceContainer = $("#choicesConnectTimeOverTime");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotConnectTimeOverTime", "#overviewConnectTimeOverTime");
        $('#footerConnectTimeOverTime .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};

var responseTimePercentilesOverTimeInfos = {
        data: {"result": {"minY": 0.0, "minX": 1.703994E12, "maxY": 1662.0, "series": [{"data": [[1.703994E12, 1662.0]], "isOverall": false, "label": "Max", "isController": false}, {"data": [[1.703994E12, 10.0]], "isOverall": false, "label": "90th percentile", "isController": false}, {"data": [[1.703994E12, 16.0]], "isOverall": false, "label": "99th percentile", "isController": false}, {"data": [[1.703994E12, 11.0]], "isOverall": false, "label": "95th percentile", "isController": false}, {"data": [[1.703994E12, 0.0]], "isOverall": false, "label": "Min", "isController": false}, {"data": [[1.703994E12, 3.0]], "isOverall": false, "label": "Median", "isController": false}], "supportsControllersDiscrimination": false, "granularity": 60000, "maxX": 1.703994E12, "title": "Response Time Percentiles Over Time (successful requests only)"}},
        getOptions: function() {
            return {
                series: {
                    lines: {
                        show: true,
                        fill: true
                    },
                    points: {
                        show: true
                    }
                },
                xaxis: {
                    mode: "time",
                    timeformat: getTimeFormat(this.data.result.granularity),
                    axisLabel: getElapsedTimeLabel(this.data.result.granularity),
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Response Time in ms",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                legend: {
                    noColumns: 2,
                    show: true,
                    container: '#legendResponseTimePercentilesOverTime'
                },
                selection: {
                    mode: 'xy'
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: "%s : at %x Response time was %y ms"
                }
            };
        },
        createGraph: function () {
            var data = this.data;
            var dataset = prepareData(data.result.series, $("#choicesResponseTimePercentilesOverTime"));
            var options = this.getOptions();
            prepareOptions(options, data);
            $.plot($("#flotResponseTimePercentilesOverTime"), dataset, options);
            // setup overview
            $.plot($("#overviewResponseTimePercentilesOverTime"), dataset, prepareOverviewOptions(options));
        }
};

// Response Time Percentiles Over Time
function refreshResponseTimePercentilesOverTime(fixTimestamps) {
    var infos = responseTimePercentilesOverTimeInfos;
    prepareSeries(infos.data);
    if(fixTimestamps) {
        fixTimeStamps(infos.data.result.series, 28800000);
    }
    if(isGraph($("#flotResponseTimePercentilesOverTime"))) {
        infos.createGraph();
    }else {
        var choiceContainer = $("#choicesResponseTimePercentilesOverTime");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotResponseTimePercentilesOverTime", "#overviewResponseTimePercentilesOverTime");
        $('#footerResponseTimePercentilesOverTime .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};


var responseTimeVsRequestInfos = {
    data: {"result": {"minY": 1.0, "minX": 214.0, "maxY": 835.0, "series": [{"data": [[8245.0, 2.0], [10665.0, 46.0], [214.0, 835.0], [14566.0, 35.0], [14783.0, 23.0], [15436.0, 7.0], [4573.0, 9.0], [18183.0, 8.0], [4717.0, 6.0], [5064.0, 76.0], [5883.0, 8.0], [6088.0, 3.0], [6644.0, 19.0], [6403.0, 2.0], [7133.0, 1.0], [7632.0, 4.0], [7686.0, 52.0], [7920.0, 1.0], [8165.0, 1.0]], "isOverall": false, "label": "Successes", "isController": false}], "supportsControllersDiscrimination": false, "granularity": 1000, "maxX": 18183.0, "title": "Response Time Vs Request"}},
    getOptions: function() {
        return {
            series: {
                lines: {
                    show: false
                },
                points: {
                    show: true
                }
            },
            xaxis: {
                axisLabel: "Global number of requests per second",
                axisLabelUseCanvas: true,
                axisLabelFontSizePixels: 12,
                axisLabelFontFamily: 'Verdana, Arial',
                axisLabelPadding: 20,
            },
            yaxis: {
                axisLabel: "Median Response Time in ms",
                axisLabelUseCanvas: true,
                axisLabelFontSizePixels: 12,
                axisLabelFontFamily: 'Verdana, Arial',
                axisLabelPadding: 20,
            },
            legend: {
                noColumns: 2,
                show: true,
                container: '#legendResponseTimeVsRequest'
            },
            selection: {
                mode: 'xy'
            },
            grid: {
                hoverable: true // IMPORTANT! this is needed for tooltip to work
            },
            tooltip: true,
            tooltipOpts: {
                content: "%s : Median response time at %x req/s was %y ms"
            },
            colors: ["#9ACD32", "#FF6347"]
        };
    },
    createGraph: function () {
        var data = this.data;
        var dataset = prepareData(data.result.series, $("#choicesResponseTimeVsRequest"));
        var options = this.getOptions();
        prepareOptions(options, data);
        $.plot($("#flotResponseTimeVsRequest"), dataset, options);
        // setup overview
        $.plot($("#overviewResponseTimeVsRequest"), dataset, prepareOverviewOptions(options));

    }
};

// Response Time vs Request
function refreshResponseTimeVsRequest() {
    var infos = responseTimeVsRequestInfos;
    prepareSeries(infos.data);
    if (isGraph($("#flotResponseTimeVsRequest"))){
        infos.createGraph();
    }else{
        var choiceContainer = $("#choicesResponseTimeVsRequest");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotResponseTimeVsRequest", "#overviewResponseTimeVsRequest");
        $('#footerResponseRimeVsRequest .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};


var latenciesVsRequestInfos = {
    data: {"result": {"minY": 1.0, "minX": 214.0, "maxY": 835.0, "series": [{"data": [[8245.0, 2.0], [10665.0, 46.0], [214.0, 835.0], [14566.0, 35.0], [14783.0, 23.0], [15436.0, 7.0], [4573.0, 9.0], [18183.0, 8.0], [4717.0, 6.0], [5064.0, 76.0], [5883.0, 8.0], [6088.0, 3.0], [6644.0, 19.0], [6403.0, 2.0], [7133.0, 1.0], [7632.0, 4.0], [7686.0, 52.0], [7920.0, 1.0], [8165.0, 1.0]], "isOverall": false, "label": "Successes", "isController": false}], "supportsControllersDiscrimination": false, "granularity": 1000, "maxX": 18183.0, "title": "Latencies Vs Request"}},
    getOptions: function() {
        return{
            series: {
                lines: {
                    show: false
                },
                points: {
                    show: true
                }
            },
            xaxis: {
                axisLabel: "Global number of requests per second",
                axisLabelUseCanvas: true,
                axisLabelFontSizePixels: 12,
                axisLabelFontFamily: 'Verdana, Arial',
                axisLabelPadding: 20,
            },
            yaxis: {
                axisLabel: "Median Latency in ms",
                axisLabelUseCanvas: true,
                axisLabelFontSizePixels: 12,
                axisLabelFontFamily: 'Verdana, Arial',
                axisLabelPadding: 20,
            },
            legend: { noColumns: 2,show: true, container: '#legendLatencyVsRequest' },
            selection: {
                mode: 'xy'
            },
            grid: {
                hoverable: true // IMPORTANT! this is needed for tooltip to work
            },
            tooltip: true,
            tooltipOpts: {
                content: "%s : Median Latency time at %x req/s was %y ms"
            },
            colors: ["#9ACD32", "#FF6347"]
        };
    },
    createGraph: function () {
        var data = this.data;
        var dataset = prepareData(data.result.series, $("#choicesLatencyVsRequest"));
        var options = this.getOptions();
        prepareOptions(options, data);
        $.plot($("#flotLatenciesVsRequest"), dataset, options);
        // setup overview
        $.plot($("#overviewLatenciesVsRequest"), dataset, prepareOverviewOptions(options));
    }
};

// Latencies vs Request
function refreshLatenciesVsRequest() {
        var infos = latenciesVsRequestInfos;
        prepareSeries(infos.data);
        if(isGraph($("#flotLatenciesVsRequest"))){
            infos.createGraph();
        }else{
            var choiceContainer = $("#choicesLatencyVsRequest");
            createLegend(choiceContainer, infos);
            infos.createGraph();
            setGraphZoomable("#flotLatenciesVsRequest", "#overviewLatenciesVsRequest");
            $('#footerLatenciesVsRequest .legendColorBox > div').each(function(i){
                $(this).clone().prependTo(choiceContainer.find("li").eq(i));
            });
        }
};

var hitsPerSecondInfos = {
        data: {"result": {"minY": 2666.6666666666665, "minX": 1.703994E12, "maxY": 2666.6666666666665, "series": [{"data": [[1.703994E12, 2666.6666666666665]], "isOverall": false, "label": "hitsPerSecond", "isController": false}], "supportsControllersDiscrimination": false, "granularity": 60000, "maxX": 1.703994E12, "title": "Hits Per Second"}},
        getOptions: function() {
            return {
                series: {
                    lines: {
                        show: true
                    },
                    points: {
                        show: true
                    }
                },
                xaxis: {
                    mode: "time",
                    timeformat: getTimeFormat(this.data.result.granularity),
                    axisLabel: getElapsedTimeLabel(this.data.result.granularity),
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Number of hits / sec",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20
                },
                legend: {
                    noColumns: 2,
                    show: true,
                    container: "#legendHitsPerSecond"
                },
                selection: {
                    mode : 'xy'
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: "%s at %x was %y.2 hits/sec"
                }
            };
        },
        createGraph: function createGraph() {
            var data = this.data;
            var dataset = prepareData(data.result.series, $("#choicesHitsPerSecond"));
            var options = this.getOptions();
            prepareOptions(options, data);
            $.plot($("#flotHitsPerSecond"), dataset, options);
            // setup overview
            $.plot($("#overviewHitsPerSecond"), dataset, prepareOverviewOptions(options));
        }
};

// Hits per second
function refreshHitsPerSecond(fixTimestamps) {
    var infos = hitsPerSecondInfos;
    prepareSeries(infos.data);
    if(fixTimestamps) {
        fixTimeStamps(infos.data.result.series, 28800000);
    }
    if (isGraph($("#flotHitsPerSecond"))){
        infos.createGraph();
    }else{
        var choiceContainer = $("#choicesHitsPerSecond");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotHitsPerSecond", "#overviewHitsPerSecond");
        $('#footerHitsPerSecond .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
}

var codesPerSecondInfos = {
        data: {"result": {"minY": 2666.6666666666665, "minX": 1.703994E12, "maxY": 2666.6666666666665, "series": [{"data": [[1.703994E12, 2666.6666666666665]], "isOverall": false, "label": "200", "isController": false}], "supportsControllersDiscrimination": false, "granularity": 60000, "maxX": 1.703994E12, "title": "Codes Per Second"}},
        getOptions: function(){
            return {
                series: {
                    lines: {
                        show: true
                    },
                    points: {
                        show: true
                    }
                },
                xaxis: {
                    mode: "time",
                    timeformat: getTimeFormat(this.data.result.granularity),
                    axisLabel: getElapsedTimeLabel(this.data.result.granularity),
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Number of responses / sec",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                legend: {
                    noColumns: 2,
                    show: true,
                    container: "#legendCodesPerSecond"
                },
                selection: {
                    mode: 'xy'
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: "Number of Response Codes %s at %x was %y.2 responses / sec"
                }
            };
        },
    createGraph: function() {
        var data = this.data;
        var dataset = prepareData(data.result.series, $("#choicesCodesPerSecond"));
        var options = this.getOptions();
        prepareOptions(options, data);
        $.plot($("#flotCodesPerSecond"), dataset, options);
        // setup overview
        $.plot($("#overviewCodesPerSecond"), dataset, prepareOverviewOptions(options));
    }
};

// Codes per second
function refreshCodesPerSecond(fixTimestamps) {
    var infos = codesPerSecondInfos;
    prepareSeries(infos.data);
    if(fixTimestamps) {
        fixTimeStamps(infos.data.result.series, 28800000);
    }
    if(isGraph($("#flotCodesPerSecond"))){
        infos.createGraph();
    }else{
        var choiceContainer = $("#choicesCodesPerSecond");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotCodesPerSecond", "#overviewCodesPerSecond");
        $('#footerCodesPerSecond .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};

var transactionsPerSecondInfos = {
        data: {"result": {"minY": 1333.3333333333333, "minX": 1.703994E12, "maxY": 1333.3333333333333, "series": [{"data": [[1.703994E12, 1333.3333333333333]], "isOverall": false, "label": "Get book by id-success", "isController": false}, {"data": [[1.703994E12, 1333.3333333333333]], "isOverall": false, "label": "Create a book-success", "isController": false}], "supportsControllersDiscrimination": true, "granularity": 60000, "maxX": 1.703994E12, "title": "Transactions Per Second"}},
        getOptions: function(){
            return {
                series: {
                    lines: {
                        show: true
                    },
                    points: {
                        show: true
                    }
                },
                xaxis: {
                    mode: "time",
                    timeformat: getTimeFormat(this.data.result.granularity),
                    axisLabel: getElapsedTimeLabel(this.data.result.granularity),
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Number of transactions / sec",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20
                },
                legend: {
                    noColumns: 2,
                    show: true,
                    container: "#legendTransactionsPerSecond"
                },
                selection: {
                    mode: 'xy'
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: "%s at %x was %y transactions / sec"
                }
            };
        },
    createGraph: function () {
        var data = this.data;
        var dataset = prepareData(data.result.series, $("#choicesTransactionsPerSecond"));
        var options = this.getOptions();
        prepareOptions(options, data);
        $.plot($("#flotTransactionsPerSecond"), dataset, options);
        // setup overview
        $.plot($("#overviewTransactionsPerSecond"), dataset, prepareOverviewOptions(options));
    }
};

// Transactions per second
function refreshTransactionsPerSecond(fixTimestamps) {
    var infos = transactionsPerSecondInfos;
    prepareSeries(infos.data);
    if(infos.data.result.series.length == 0) {
        setEmptyGraph("#bodyTransactionsPerSecond");
        return;
    }
    if(fixTimestamps) {
        fixTimeStamps(infos.data.result.series, 28800000);
    }
    if(isGraph($("#flotTransactionsPerSecond"))){
        infos.createGraph();
    }else{
        var choiceContainer = $("#choicesTransactionsPerSecond");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotTransactionsPerSecond", "#overviewTransactionsPerSecond");
        $('#footerTransactionsPerSecond .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};

var totalTPSInfos = {
        data: {"result": {"minY": 2666.6666666666665, "minX": 1.703994E12, "maxY": 2666.6666666666665, "series": [{"data": [[1.703994E12, 2666.6666666666665]], "isOverall": false, "label": "Transaction-success", "isController": false}, {"data": [], "isOverall": false, "label": "Transaction-failure", "isController": false}], "supportsControllersDiscrimination": true, "granularity": 60000, "maxX": 1.703994E12, "title": "Total Transactions Per Second"}},
        getOptions: function(){
            return {
                series: {
                    lines: {
                        show: true
                    },
                    points: {
                        show: true
                    }
                },
                xaxis: {
                    mode: "time",
                    timeformat: getTimeFormat(this.data.result.granularity),
                    axisLabel: getElapsedTimeLabel(this.data.result.granularity),
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20,
                },
                yaxis: {
                    axisLabel: "Number of transactions / sec",
                    axisLabelUseCanvas: true,
                    axisLabelFontSizePixels: 12,
                    axisLabelFontFamily: 'Verdana, Arial',
                    axisLabelPadding: 20
                },
                legend: {
                    noColumns: 2,
                    show: true,
                    container: "#legendTotalTPS"
                },
                selection: {
                    mode: 'xy'
                },
                grid: {
                    hoverable: true // IMPORTANT! this is needed for tooltip to
                                    // work
                },
                tooltip: true,
                tooltipOpts: {
                    content: "%s at %x was %y transactions / sec"
                },
                colors: ["#9ACD32", "#FF6347"]
            };
        },
    createGraph: function () {
        var data = this.data;
        var dataset = prepareData(data.result.series, $("#choicesTotalTPS"));
        var options = this.getOptions();
        prepareOptions(options, data);
        $.plot($("#flotTotalTPS"), dataset, options);
        // setup overview
        $.plot($("#overviewTotalTPS"), dataset, prepareOverviewOptions(options));
    }
};

// Total Transactions per second
function refreshTotalTPS(fixTimestamps) {
    var infos = totalTPSInfos;
    // We want to ignore seriesFilter
    prepareSeries(infos.data, false, true);
    if(fixTimestamps) {
        fixTimeStamps(infos.data.result.series, 28800000);
    }
    if(isGraph($("#flotTotalTPS"))){
        infos.createGraph();
    }else{
        var choiceContainer = $("#choicesTotalTPS");
        createLegend(choiceContainer, infos);
        infos.createGraph();
        setGraphZoomable("#flotTotalTPS", "#overviewTotalTPS");
        $('#footerTotalTPS .legendColorBox > div').each(function(i){
            $(this).clone().prependTo(choiceContainer.find("li").eq(i));
        });
    }
};

// Collapse the graph matching the specified DOM element depending the collapsed
// status
function collapse(elem, collapsed){
    if(collapsed){
        $(elem).parent().find(".fa-chevron-up").removeClass("fa-chevron-up").addClass("fa-chevron-down");
    } else {
        $(elem).parent().find(".fa-chevron-down").removeClass("fa-chevron-down").addClass("fa-chevron-up");
        if (elem.id == "bodyBytesThroughputOverTime") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshBytesThroughputOverTime(true);
            }
            document.location.href="#bytesThroughputOverTime";
        } else if (elem.id == "bodyLatenciesOverTime") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshLatenciesOverTime(true);
            }
            document.location.href="#latenciesOverTime";
        } else if (elem.id == "bodyCustomGraph") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshCustomGraph(true);
            }
            document.location.href="#responseCustomGraph";
        } else if (elem.id == "bodyConnectTimeOverTime") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshConnectTimeOverTime(true);
            }
            document.location.href="#connectTimeOverTime";
        } else if (elem.id == "bodyResponseTimePercentilesOverTime") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshResponseTimePercentilesOverTime(true);
            }
            document.location.href="#responseTimePercentilesOverTime";
        } else if (elem.id == "bodyResponseTimeDistribution") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshResponseTimeDistribution();
            }
            document.location.href="#responseTimeDistribution" ;
        } else if (elem.id == "bodySyntheticResponseTimeDistribution") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshSyntheticResponseTimeDistribution();
            }
            document.location.href="#syntheticResponseTimeDistribution" ;
        } else if (elem.id == "bodyActiveThreadsOverTime") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshActiveThreadsOverTime(true);
            }
            document.location.href="#activeThreadsOverTime";
        } else if (elem.id == "bodyTimeVsThreads") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshTimeVsThreads();
            }
            document.location.href="#timeVsThreads" ;
        } else if (elem.id == "bodyCodesPerSecond") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshCodesPerSecond(true);
            }
            document.location.href="#codesPerSecond";
        } else if (elem.id == "bodyTransactionsPerSecond") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshTransactionsPerSecond(true);
            }
            document.location.href="#transactionsPerSecond";
        } else if (elem.id == "bodyTotalTPS") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshTotalTPS(true);
            }
            document.location.href="#totalTPS";
        } else if (elem.id == "bodyResponseTimeVsRequest") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshResponseTimeVsRequest();
            }
            document.location.href="#responseTimeVsRequest";
        } else if (elem.id == "bodyLatenciesVsRequest") {
            if (isGraph($(elem).find('.flot-chart-content')) == false) {
                refreshLatenciesVsRequest();
            }
            document.location.href="#latencyVsRequest";
        }
    }
}

/*
 * Activates or deactivates all series of the specified graph (represented by id parameter)
 * depending on checked argument.
 */
function toggleAll(id, checked){
    var placeholder = document.getElementById(id);

    var cases = $(placeholder).find(':checkbox');
    cases.prop('checked', checked);
    $(cases).parent().children().children().toggleClass("legend-disabled", !checked);

    var choiceContainer;
    if ( id == "choicesBytesThroughputOverTime"){
        choiceContainer = $("#choicesBytesThroughputOverTime");
        refreshBytesThroughputOverTime(false);
    } else if(id == "choicesResponseTimesOverTime"){
        choiceContainer = $("#choicesResponseTimesOverTime");
        refreshResponseTimeOverTime(false);
    }else if(id == "choicesResponseCustomGraph"){
        choiceContainer = $("#choicesResponseCustomGraph");
        refreshCustomGraph(false);
    } else if ( id == "choicesLatenciesOverTime"){
        choiceContainer = $("#choicesLatenciesOverTime");
        refreshLatenciesOverTime(false);
    } else if ( id == "choicesConnectTimeOverTime"){
        choiceContainer = $("#choicesConnectTimeOverTime");
        refreshConnectTimeOverTime(false);
    } else if ( id == "choicesResponseTimePercentilesOverTime"){
        choiceContainer = $("#choicesResponseTimePercentilesOverTime");
        refreshResponseTimePercentilesOverTime(false);
    } else if ( id == "choicesResponseTimePercentiles"){
        choiceContainer = $("#choicesResponseTimePercentiles");
        refreshResponseTimePercentiles();
    } else if(id == "choicesActiveThreadsOverTime"){
        choiceContainer = $("#choicesActiveThreadsOverTime");
        refreshActiveThreadsOverTime(false);
    } else if ( id == "choicesTimeVsThreads"){
        choiceContainer = $("#choicesTimeVsThreads");
        refreshTimeVsThreads();
    } else if ( id == "choicesSyntheticResponseTimeDistribution"){
        choiceContainer = $("#choicesSyntheticResponseTimeDistribution");
        refreshSyntheticResponseTimeDistribution();
    } else if ( id == "choicesResponseTimeDistribution"){
        choiceContainer = $("#choicesResponseTimeDistribution");
        refreshResponseTimeDistribution();
    } else if ( id == "choicesHitsPerSecond"){
        choiceContainer = $("#choicesHitsPerSecond");
        refreshHitsPerSecond(false);
    } else if(id == "choicesCodesPerSecond"){
        choiceContainer = $("#choicesCodesPerSecond");
        refreshCodesPerSecond(false);
    } else if ( id == "choicesTransactionsPerSecond"){
        choiceContainer = $("#choicesTransactionsPerSecond");
        refreshTransactionsPerSecond(false);
    } else if ( id == "choicesTotalTPS"){
        choiceContainer = $("#choicesTotalTPS");
        refreshTotalTPS(false);
    } else if ( id == "choicesResponseTimeVsRequest"){
        choiceContainer = $("#choicesResponseTimeVsRequest");
        refreshResponseTimeVsRequest();
    } else if ( id == "choicesLatencyVsRequest"){
        choiceContainer = $("#choicesLatencyVsRequest");
        refreshLatenciesVsRequest();
    }
    var color = checked ? "black" : "#818181";
    if(choiceContainer != null) {
        choiceContainer.find("label").each(function(){
            this.style.color = color;
        });
    }
}

